diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/DOC.md b/DOC.md new file mode 100644 index 0000000..6a0b018 --- /dev/null +++ b/DOC.md @@ -0,0 +1,56 @@ +## Files + +* **_data/assignments.yaml**: Data for each project (see [Project Structure](Project-Structure)). + +* **_data/java_links.yaml**: Links to Java class documentation. + +* **_data/python_links.yaml**: Links to Python class documentation. + +* **_layouts/default.html**: The top-level layout used by all pages. Includes navigation bar, title bar, and copyright notice. + +* **_layouts/assignment-page.html**: This layout extends the default layout and is used by project pages. The `jekyll-datapage-generator` plugin automatically generates these pages using the information in assignments.yaml. + +* **.github/workflows/jekyll-deploy-action.yml**: A Github action which updates the `gh_pages` branch automatically whenever the `master` branch changes. (The source for this site is in the `master` branch; the generated HTML is in the `gh_pages` branch.) Copied from [here](https://github.com/marketplace/actions/jekyll-deploy-action). + +* **assets/images/**: Images used on this site, including example output images for each project. + +* **assets/main.scss**: A [Sass](https://sass-lang.com) file which controls the styling of all pages. + +* **assignments/search.js**: A Liquid-generated Javascript program that allows users to search for assignments. + +## Project Structure + +Each entry in assignments.yaml has the following attributes: + +* `key`: The name of the project in lowercase, with words separated by hyphens (e.g. "emoji-builder"). + +* `title`: The name of the project in title case, with words separated by spaces (e.g. "Emoji Builder"). + +* `summary`: A short description which appears in the link on the "projects" page. + +* `tags`: A list of tags that appear below the summary. + +* `description`: A longer description which appears on the project's individual page. + +* `image_caption` (optional): A caption to go under the example output image. If none is given, it defaults to "[title] example output." + +* `topics`: A list of programming topics that the project covers. + +* `outcomes` (optional): A list of intended learning outcomes. Each entry is an object with a `verb` field and an `outcome` field. + +* `java` (optional): Files for the Java version of the assignment (code, worksheets, etc). + +* `python` (optional): Files for the Python version of the assignment (code, worksheets, etc). + +* `documentation`: A list of BRIDGES classes used by the project. These classes must have entries in java_links.yaml and/or python_links.yaml (depending on which languages the project supports). Otherwise, the links on the project page will not work. + +`java` and `python` must each contain two sub-attributes: `student_files` and `teacher_files`. `student_files` is a list of files available to students (each with a name and a link), and `teacher_files` is a list of files available only to teachers. + +## Running Locally + +Install Ruby along with the `bundler` gem. See these pages for more detailed instructions: + +* [Quickstart](https://jekyllrb.com/docs/) +* [Installation](https://jekyllrb.com/docs/installation/) + +Run `bundle exec jekyll serve` to view this site on a localhost server. The server will automatically update whenever you edit the files. (You may need to run `bundle install` first.) diff --git a/README.md b/README.md new file mode 100644 index 0000000..6a95ca4 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# BRIDGES High School + +Site hosted at https://bridgesuncc.github.io/bridges-hs/ diff --git a/adv-topics/index.html b/adv-topics/index.html new file mode 100644 index 0000000..3d65fb8 --- /dev/null +++ b/adv-topics/index.html @@ -0,0 +1,11 @@ + + + + Redirecting… + + + + +

Redirecting…

+ Click here if you are not redirected. + diff --git a/ap-cs-a/index.html b/ap-cs-a/index.html new file mode 100644 index 0000000..3d65fb8 --- /dev/null +++ b/ap-cs-a/index.html @@ -0,0 +1,11 @@ + + + + Redirecting… + + + + +

Redirecting…

+ Click here if you are not redirected. + diff --git a/assets/images/collage.png b/assets/images/collage.png new file mode 100644 index 0000000..928135b Binary files /dev/null and b/assets/images/collage.png differ diff --git a/assets/images/collage.svg b/assets/images/collage.svg new file mode 100644 index 0000000..485ef96 --- /dev/null +++ b/assets/images/collage.svg @@ -0,0 +1,25135 @@ + + + + diff --git a/assets/images/example-output/aquarium.png b/assets/images/example-output/aquarium.png new file mode 100644 index 0000000..0f13995 Binary files /dev/null and b/assets/images/example-output/aquarium.png differ diff --git a/assets/images/example-output/bugstomp.png b/assets/images/example-output/bugstomp.png new file mode 100644 index 0000000..968bc65 Binary files /dev/null and b/assets/images/example-output/bugstomp.png differ diff --git a/assets/images/example-output/chaos-game.png b/assets/images/example-output/chaos-game.png new file mode 100644 index 0000000..73f3901 Binary files /dev/null and b/assets/images/example-output/chaos-game.png differ diff --git a/assets/images/example-output/earthquake-linked-list.png b/assets/images/example-output/earthquake-linked-list.png new file mode 100644 index 0000000..69e0bda Binary files /dev/null and b/assets/images/example-output/earthquake-linked-list.png differ diff --git a/assets/images/example-output/emoji-builder.png b/assets/images/example-output/emoji-builder.png new file mode 100644 index 0000000..bbe5385 Binary files /dev/null and b/assets/images/example-output/emoji-builder.png differ diff --git a/assets/images/example-output/game-of-life.png b/assets/images/example-output/game-of-life.png new file mode 100644 index 0000000..8cef3b4 Binary files /dev/null and b/assets/images/example-output/game-of-life.png differ diff --git a/assets/images/example-output/gamebasics-1.png b/assets/images/example-output/gamebasics-1.png new file mode 100644 index 0000000..f7f212e Binary files /dev/null and b/assets/images/example-output/gamebasics-1.png differ diff --git a/assets/images/example-output/gamebasics-2.png b/assets/images/example-output/gamebasics-2.png new file mode 100644 index 0000000..86bd209 Binary files /dev/null and b/assets/images/example-output/gamebasics-2.png differ diff --git a/assets/images/example-output/interpreter.png b/assets/images/example-output/interpreter.png new file mode 100644 index 0000000..319dfaf Binary files /dev/null and b/assets/images/example-output/interpreter.png differ diff --git a/assets/images/example-output/intro-to-OOP-creating-objects-of-classes.png b/assets/images/example-output/intro-to-OOP-creating-objects-of-classes.png new file mode 100644 index 0000000..4900926 Binary files /dev/null and b/assets/images/example-output/intro-to-OOP-creating-objects-of-classes.png differ diff --git a/assets/images/example-output/intro-to-oop.png b/assets/images/example-output/intro-to-oop.png new file mode 100644 index 0000000..231fa45 Binary files /dev/null and b/assets/images/example-output/intro-to-oop.png differ diff --git a/assets/images/example-output/maze-generator.png b/assets/images/example-output/maze-generator.png new file mode 100644 index 0000000..16cf239 Binary files /dev/null and b/assets/images/example-output/maze-generator.png differ diff --git a/assets/images/example-output/monster-adventure.png b/assets/images/example-output/monster-adventure.png new file mode 100644 index 0000000..bd460e9 Binary files /dev/null and b/assets/images/example-output/monster-adventure.png differ diff --git a/assets/images/example-output/mountain-paths.png b/assets/images/example-output/mountain-paths.png new file mode 100644 index 0000000..840c0e6 Binary files /dev/null and b/assets/images/example-output/mountain-paths.png differ diff --git a/assets/images/example-output/pattern-builder.png b/assets/images/example-output/pattern-builder.png new file mode 100644 index 0000000..93a7256 Binary files /dev/null and b/assets/images/example-output/pattern-builder.png differ diff --git a/assets/images/example-output/patterns-in-song-lyrics.png b/assets/images/example-output/patterns-in-song-lyrics.png new file mode 100644 index 0000000..087cfd9 Binary files /dev/null and b/assets/images/example-output/patterns-in-song-lyrics.png differ diff --git a/assets/images/example-output/rainbow-snake.png b/assets/images/example-output/rainbow-snake.png new file mode 100644 index 0000000..4447a92 Binary files /dev/null and b/assets/images/example-output/rainbow-snake.png differ diff --git a/assets/images/example-output/shape-collection.png b/assets/images/example-output/shape-collection.png new file mode 100644 index 0000000..9574320 Binary files /dev/null and b/assets/images/example-output/shape-collection.png differ diff --git a/assets/images/example-output/square-fill.png b/assets/images/example-output/square-fill.png new file mode 100644 index 0000000..c68a1f4 Binary files /dev/null and b/assets/images/example-output/square-fill.png differ diff --git a/assets/images/example-output/street-map.png b/assets/images/example-output/street-map.png new file mode 100644 index 0000000..ca4cc07 Binary files /dev/null and b/assets/images/example-output/street-map.png differ diff --git a/assets/images/example-output/sudoku.png b/assets/images/example-output/sudoku.png new file mode 100644 index 0000000..845879c Binary files /dev/null and b/assets/images/example-output/sudoku.png differ diff --git a/assets/images/example-output/tron.png b/assets/images/example-output/tron.png new file mode 100644 index 0000000..b199085 Binary files /dev/null and b/assets/images/example-output/tron.png differ diff --git a/assets/images/example-output/us-cities-map.png b/assets/images/example-output/us-cities-map.png new file mode 100644 index 0000000..de95e75 Binary files /dev/null and b/assets/images/example-output/us-cities-map.png differ diff --git a/assets/images/favicon-package/android-chrome-192x192.png b/assets/images/favicon-package/android-chrome-192x192.png new file mode 100644 index 0000000..58d57e9 Binary files /dev/null and b/assets/images/favicon-package/android-chrome-192x192.png differ diff --git a/assets/images/favicon-package/android-chrome-512x512.png b/assets/images/favicon-package/android-chrome-512x512.png new file mode 100644 index 0000000..279d90a Binary files /dev/null and b/assets/images/favicon-package/android-chrome-512x512.png differ diff --git a/assets/images/favicon-package/apple-touch-icon.png b/assets/images/favicon-package/apple-touch-icon.png new file mode 100644 index 0000000..b9c3486 Binary files /dev/null and b/assets/images/favicon-package/apple-touch-icon.png differ diff --git a/assets/images/favicon-package/browserconfig.xml b/assets/images/favicon-package/browserconfig.xml new file mode 100644 index 0000000..b3930d0 --- /dev/null +++ b/assets/images/favicon-package/browserconfig.xml @@ -0,0 +1,9 @@ + + + + + + #da532c + + + diff --git a/assets/images/favicon-package/favicon-16x16.png b/assets/images/favicon-package/favicon-16x16.png new file mode 100644 index 0000000..19158d3 Binary files /dev/null and b/assets/images/favicon-package/favicon-16x16.png differ diff --git a/assets/images/favicon-package/favicon-32x32.png b/assets/images/favicon-package/favicon-32x32.png new file mode 100644 index 0000000..e443547 Binary files /dev/null and b/assets/images/favicon-package/favicon-32x32.png differ diff --git a/assets/images/favicon-package/favicon.ico b/assets/images/favicon-package/favicon.ico new file mode 100644 index 0000000..121ac5c Binary files /dev/null and b/assets/images/favicon-package/favicon.ico differ diff --git a/assets/images/favicon-package/mstile-150x150.png b/assets/images/favicon-package/mstile-150x150.png new file mode 100644 index 0000000..95160a1 Binary files /dev/null and b/assets/images/favicon-package/mstile-150x150.png differ diff --git a/assets/images/favicon-package/safari-pinned-tab.svg b/assets/images/favicon-package/safari-pinned-tab.svg new file mode 100644 index 0000000..26fce01 --- /dev/null +++ b/assets/images/favicon-package/safari-pinned-tab.svg @@ -0,0 +1,138 @@ + + + + +Created by potrace 1.11, written by Peter Selinger 2001-2013 + + + + + diff --git a/assets/images/favicon-package/site.webmanifest b/assets/images/favicon-package/site.webmanifest new file mode 100644 index 0000000..b20abb7 --- /dev/null +++ b/assets/images/favicon-package/site.webmanifest @@ -0,0 +1,19 @@ +{ + "name": "", + "short_name": "", + "icons": [ + { + "src": "/android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "/android-chrome-512x512.png", + "sizes": "512x512", + "type": "image/png" + } + ], + "theme_color": "#ffffff", + "background_color": "#ffffff", + "display": "standalone" +} diff --git a/assets/images/logo.svg b/assets/images/logo.svg new file mode 100644 index 0000000..972929f --- /dev/null +++ b/assets/images/logo.svg @@ -0,0 +1,103 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/mountain-paths/greedy-case-1.png b/assets/images/mountain-paths/greedy-case-1.png new file mode 100644 index 0000000..f41f23c Binary files /dev/null and b/assets/images/mountain-paths/greedy-case-1.png differ diff --git a/assets/images/mountain-paths/greedy-case-2.png b/assets/images/mountain-paths/greedy-case-2.png new file mode 100644 index 0000000..eceb114 Binary files /dev/null and b/assets/images/mountain-paths/greedy-case-2.png differ diff --git a/assets/images/mountain-paths/greedy-case-3.png b/assets/images/mountain-paths/greedy-case-3.png new file mode 100644 index 0000000..16b29ca Binary files /dev/null and b/assets/images/mountain-paths/greedy-case-3.png differ diff --git a/assets/images/mountain-paths/greedy-case-4.png b/assets/images/mountain-paths/greedy-case-4.png new file mode 100644 index 0000000..154e92e Binary files /dev/null and b/assets/images/mountain-paths/greedy-case-4.png differ diff --git a/assets/images/school.svg b/assets/images/school.svg new file mode 100644 index 0000000..596ec46 --- /dev/null +++ b/assets/images/school.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/images/university.svg b/assets/images/university.svg new file mode 100644 index 0000000..0c41a96 --- /dev/null +++ b/assets/images/university.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/main.css b/assets/main.css new file mode 100644 index 0000000..353511a --- /dev/null +++ b/assets/main.css @@ -0,0 +1,97 @@ +/* BASIC STYLING */ +body, html { height: 100%; margin: 0; } + +body { font-family: Arial, Helvetica, sans-serif; font-size: 1.2em; } + +.container { padding: 0px 24px; } + +h1, h2, h3, h4, h5, h6 { font-family: 'JetBrains Mono', monospace; font-weight: bold; } + +article h2 { border-bottom-color: #e9ecef; border-bottom-style: solid; border-bottom-width: thin; padding-bottom: .5rem; } + +a { text-decoration: none; } + +a:hover { text-decoration: underline; } + +/* NAVBAR */ +.navbar-custom { background-color: white; } + +.navbar-custom .navbar-brand img { width: 70px; } + +@media only screen and (min-width: 448px) { .navbar-custom .navbar-brand img { width: 90px; } } + +.navbar-custom .nav-link { font-family: Arial, Helvetica, sans-serif; font-weight: 600; color: black; } + +.navbar-custom .nav-link:hover { text-decoration: none; } + +/* FOOTER */ +footer { margin-top: 4em; background-color: #212121; color: white; padding-top: 64px; padding-bottom: 48px; } + +/* TITLE BAR */ +.titlebar-container { padding: 0; border-bottom: 1px solid #cccccc; border-top: 1px solid #cccccc; background-color: #ebebeb; } + +.titlebar-container h1 { margin: 0 auto; padding: 24px; } + +/* MAIN PAGE */ +.banner-bg { background-color: black; padding-top: 80px; padding-bottom: 50px; } + +.banner-text { text-align: center; width: 100%; } + +.banner-text h1 { font-weight: 600; color: white; font-size: 2.2em; letter-spacing: 0.1em; } + +.banner-text a { margin-top: 1em; border-radius: 1em; } + +.banner-text a:hover { text-decoration: none; } + +#slogan { text-align: center; margin: 3rem 0; } + +#mission-statement { text-align: center; } + +#collage { margin-top: 24px; } + +/* ASSIGNMENT CARDS */ +#search { margin-top: 24px; width: 100%; } + +.assignment-card { margin: 24px 0px; display: grid; grid-template-rows: 12em; grid-template-columns: 35% 65%; } + +@media only screen and (min-width: 512px) { .assignment-card { grid-template-rows: 9em; } } + +@media only screen and (min-width: 768px) { .assignment-card { grid-template-columns: 25% 75%; } } + +.assignment-card .card-thumbnail img { object-fit: cover; height: 100%; width: 100%; } + +.card.link:hover { box-shadow: 0 0 11px rgba(33, 33, 33, 0.2); cursor: pointer; } + +/* TAGS */ +.tag { padding: 2px 8px; border-radius: 1em; border: 1px solid #cccccc; background-color: #ebebeb; } + +.language-tag { padding: 2px 8px; border-radius: 1em; border: 1px solid #a9c1ef; background-color: #dde6f9; } + +.difficulty-tag { padding: 2px 8px; border-radius: 1em; border: 1px solid #cccccc; } + +/* NOTES AND WARNINGS */ +.note { background-color: #dcf4ff; border-left: 6px solid #024e7a; } + +.warning { background-color: #ffdddc; border-left: 6px solid #7a0602; } + +.note, .warning { margin: 0 0 12px; padding: 12px; } + +.note p:last-child, .warning p:last-child { margin-bottom: 0; } + +/* TABLE OF CONTENTS */ +.assignment-container { margin-top: 1.5rem; } + +@media only screen and (min-width: 768px) { .assignment-container { display: grid; grid-template-columns: 25% 75%; } } + +.toc .entries { list-style-type: none; padding-left: 0; } + +@media only screen and (min-width: 768px) { .toc { position: sticky; top: 20px; } } + +/* ASSIGNMENT IMAGES */ +article.assignment img { margin: 0 auto; max-width: 100%; max-height: 22em; display: block; border-radius: .5em; } + +figure { display: table; max-width: 75%; padding: 0 auto; margin: 0em auto; } + +figcaption { text-align: left; font-size: .7em; margin-bottom: 16px; } + +/*# sourceMappingURL=main.css.map */ \ No newline at end of file diff --git a/assets/main.css.map b/assets/main.css.map new file mode 100644 index 0000000..b21c661 --- /dev/null +++ b/assets/main.css.map @@ -0,0 +1,12 @@ +{ + "version": 3, + "file": "main.css", + "sources": [ + "main.scss" + ], + "sourcesContent": [ + "$border: hsl(0, 0%, 80%);\n$background: hsl(0, 0%, 92%);\n$language-border: hsl(219, 69%, 80%);\n$language-background: hsl(219, 69%, 92%);\n\n\n/* BASIC STYLING */\n\nbody, html {\n height: 100%;\n margin: 0;\n}\n\nbody {\n font-family: Arial, Helvetica, sans-serif;\n font-size: 1.2em;\n}\n\n.container {\n padding: 0px 24px;\n}\n\nh1, h2, h3, h4, h5, h6 {\n font-family: 'JetBrains Mono', monospace;\n font-weight: bold;\n}\n\narticle h2 {\n border-bottom-color: #e9ecef;\n border-bottom-style: solid;\n border-bottom-width: thin;\n padding-bottom: .5rem;\n}\n\na {\n text-decoration: none;\n &:hover { text-decoration: underline; }\n}\n\n/* NAVBAR */\n\n.navbar-custom {\n background-color: white;\n\n .navbar-brand img {\n width: 70px;\n @media only screen and (min-width: 448px) {\n width: 90px;\n }\n }\n\n .nav-link {\n font-family: Arial, Helvetica, sans-serif;\n font-weight: 600;\n color: black;\n &:hover { text-decoration: none; }\n }\n}\n\n/* FOOTER */\n\nfooter {\n margin-top: 4em;\n background-color: #212121;\n color: white;\n padding-top: 64px;\n padding-bottom: 48px;\n}\n\n/* TITLE BAR */\n\n.titlebar-container {\n padding: 0;\n border-bottom: 1px solid $border;\n border-top: 1px solid $border;\n background-color: $background;\n\n h1 {\n margin: 0 auto;\n padding: 24px;\n }\n}\n\n/* MAIN PAGE */\n\n.banner-bg {\n background-color: black;\n padding-top: 80px;\n padding-bottom: 50px;\n}\n\n.banner-text {\n text-align: center;\n width: 100%;\n\n h1 {\n font-weight: 600;\n color: white;\n font-size: 2.2em;\n letter-spacing: 0.1em;\n }\n\n a {\n margin-top: 1em;\n border-radius: 1em;\n &:hover { text-decoration: none }\n }\n}\n\n#slogan {\n text-align: center;\n margin: 3rem 0;\n}\n\n#mission-statement {\n text-align: center;\n}\n\n#collage {\n margin-top: 24px;\n}\n\n/* ASSIGNMENT CARDS */\n\n#search {\n margin-top: 24px;\n width: 100%;\n}\n\n.assignment-card {\n margin: 24px 0px;\n display: grid;\n grid-template-rows: 12em;\n grid-template-columns: 35% 65%;\n\n @media only screen and (min-width: 512px) {\n grid-template-rows: 9em;\n }\n\n @media only screen and (min-width: 768px) {\n grid-template-columns: 25% 75%;\n }\n\n .card-thumbnail img {\n object-fit: cover;\n height: 100%;\n width: 100%;\n }\n}\n\n.card.link:hover {\n box-shadow: 0 0 11px rgba(33,33,33,.2);\n cursor: pointer;\n}\n\n/* TAGS */\n\n.tag {\n padding: 2px 8px;\n border-radius: 1em;\n border: 1px solid $border;\n background-color: $background;\n}\n\n.language-tag {\n padding: 2px 8px;\n border-radius: 1em;\n border: 1px solid $language-border;\n background-color: $language-background;\n}\n\n.difficulty-tag {\n padding: 2px 8px;\n border-radius: 1em;\n border: 1px solid $border;\n}\n\n/* NOTES AND WARNINGS */\n\n.note {\n background-color: #dcf4ff;\n border-left: 6px solid #024e7a;\n}\n\n.warning {\n background-color: #ffdddc;\n border-left: 6px solid #7a0602;\n}\n\n.note, .warning {\n margin: 0 0 12px;\n padding: 12px;\n p:last-child { margin-bottom: 0; }\n}\n\n/* TABLE OF CONTENTS */\n\n.assignment-container {\n margin-top: 1.5rem;\n\n @media only screen and (min-width: 768px) {\n display: grid;\n grid-template-columns: 25% 75%;\n }\n}\n\n.toc {\n .entries {\n list-style-type:none;\n padding-left: 0;\n }\n\n @media only screen and (min-width: 768px) {\n position: sticky;\n top: 20px;\n }\n}\n\n/* ASSIGNMENT IMAGES */\n\narticle.assignment img {\n margin: 0 auto;\n max-width: 100%;\n max-height: 22em;\n display: block;\n border-radius: .5em;\n}\n\nfigure {\n display: table;\n max-width: 75%;\n padding: 0 auto;\n margin: 0em auto;\n}\n\nfigcaption {\n text-align: left;\n font-size: .7em;\n margin-bottom: 16px;\n}\n" + ], + "names": [], + "mappings": "AAMA,mBAAmB;AAEnB,AAAA,IAAI,EAAE,IAAI,CAAC,EACT,MAAM,EAAE,IAAI,EACZ,MAAM,EAAE,CAAC,GACV;;AAED,AAAA,IAAI,CAAC,EACH,WAAW,EAAE,4BAA4B,EACzC,SAAS,EAAE,KAAK,GACjB;;AAED,AAAA,UAAU,CAAC,EACT,OAAO,EAAE,QAAQ,GAClB;;AAED,AAAA,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EACrB,WAAW,EAAE,2BAA2B,EACxC,WAAW,EAAE,IAAI,GAClB;;AAED,AAAA,OAAO,CAAC,EAAE,CAAC,EACT,mBAAmB,EAAE,OAAO,EAC5B,mBAAmB,EAAE,KAAK,EAC1B,mBAAmB,EAAE,IAAI,EACzB,cAAc,EAAE,KAAK,GACtB;;AAED,AAAA,CAAC,CAAC,EACA,eAAe,EAAE,IAAI,GAEtB;;AAHD,AAEE,CAFD,CAEG,KAAK,CAAC,EAAE,eAAe,EAAE,SAAS,GAAI;;AAG1C,YAAY;AAEZ,AAAA,cAAc,CAAC,EACb,gBAAgB,EAAE,KAAK,GAexB;;AAhBD,AAGE,cAHY,CAGZ,aAAa,CAAC,GAAG,CAAC,EAChB,KAAK,EAAE,IAAI,GAIZ;;AAHC,MAAM,mCAFR,GAHF,AAGE,cAHY,CAGZ,aAAa,CAAC,GAAG,CAAC,EAGd,KAAK,EAAE,IAAI,GAEd,EAAA;;AARH,AAUE,cAVY,CAUZ,SAAS,CAAC,EACR,WAAW,EAAE,4BAA4B,EACzC,WAAW,EAAE,GAAG,EAChB,KAAK,EAAE,KAAK,GAEb;;AAfH,AAcI,cAdU,CAUZ,SAAS,CAIL,KAAK,CAAC,EAAE,eAAe,EAAE,IAAI,GAAI;;AAIvC,YAAY;AAEZ,AAAA,MAAM,CAAC,EACL,UAAU,EAAE,GAAG,EACf,gBAAgB,EAAE,OAAO,EACzB,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,IAAI,EACjB,cAAc,EAAE,IAAI,GACrB;;AAED,eAAe;AAEf,AAAA,mBAAmB,CAAC,EAClB,OAAO,EAAE,CAAC,EACV,aAAa,EAAE,GAAG,CAAC,KAAK,CAzEjB,OAAe,EA0EtB,UAAU,EAAE,GAAG,CAAC,KAAK,CA1Ed,OAAe,EA2EtB,gBAAgB,EA1EL,OAAe,GAgF3B;;AAVD,AAME,mBANiB,CAMjB,EAAE,CAAC,EACD,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,IAAI,GACd;;AAGH,eAAe;AAEf,AAAA,UAAU,CAAC,EACT,gBAAgB,EAAE,KAAK,EACvB,WAAW,EAAE,IAAI,EACjB,cAAc,EAAE,IAAI,GACrB;;AAED,AAAA,YAAY,CAAC,EACX,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,IAAI,GAcZ;;AAhBD,AAIE,YAJU,CAIV,EAAE,CAAC,EACD,WAAW,EAAE,GAAG,EAChB,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,KAAK,EAChB,cAAc,EAAE,KAAK,GACtB;;AATH,AAWE,YAXU,CAWV,CAAC,CAAC,EACA,UAAU,EAAE,GAAG,EACf,aAAa,EAAE,GAAG,GAEnB;;AAfH,AAcI,YAdQ,CAWV,CAAC,CAGG,KAAK,CAAC,EAAE,eAAe,EAAE,IAAK,GAAE;;AAItC,AAAA,OAAO,CAAC,EACN,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GACf;;AAED,AAAA,kBAAkB,CAAC,EACjB,UAAU,EAAE,MAAM,GACnB;;AAED,AAAA,QAAQ,CAAC,EACP,UAAU,EAAE,IAAI,GACjB;;AAED,sBAAsB;AAEtB,AAAA,OAAO,CAAC,EACN,UAAU,EAAE,IAAI,EAChB,KAAK,EAAE,IAAI,GACZ;;AAED,AAAA,gBAAgB,CAAC,EACf,MAAM,EAAE,QAAQ,EAChB,OAAO,EAAE,IAAI,EACb,kBAAkB,EAAE,IAAI,EACxB,qBAAqB,EAAE,OAAO,GAe/B;;AAbC,MAAM,mCANR,GAAA,AAAA,gBAAgB,CAAC,EAOX,kBAAkB,EAAE,GAAG,GAY5B,EAAA;;AATC,MAAM,mCAVR,GAAA,AAAA,gBAAgB,CAAC,EAWb,qBAAqB,EAAE,OAAO,GAQjC,EAAA;;AAnBD,AAcE,gBAdc,CAcd,eAAe,CAAC,GAAG,CAAC,EAClB,UAAU,EAAE,KAAK,EACjB,MAAM,EAAE,IAAI,EACZ,KAAK,EAAE,IAAI,GACZ;;AAGH,AAAA,KAAK,AAAA,KAAK,CAAC,KAAK,CAAC,EACf,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAiB,EACtC,MAAM,EAAE,OAAO,GAChB;;AAED,UAAU;AAEV,AAAA,IAAI,CAAC,EACH,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,GAAG,EAClB,MAAM,EAAE,GAAG,CAAC,KAAK,CAhKV,OAAe,EAiKtB,gBAAgB,EAhKL,OAAe,GAiK3B;;AAED,AAAA,aAAa,CAAC,EACZ,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,GAAG,EAClB,MAAM,EAAE,GAAG,CAAC,KAAK,CArKD,OAAkB,EAsKlC,gBAAgB,EArKI,OAAkB,GAsKvC;;AAED,AAAA,eAAe,CAAC,EACd,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,GAAG,EAClB,MAAM,EAAE,GAAG,CAAC,KAAK,CA9KV,OAAe,GA+KvB;;AAED,wBAAwB;AAExB,AAAA,KAAK,CAAC,EACJ,gBAAgB,EAAE,OAAO,EACzB,WAAW,EAAE,iBAAiB,GAC/B;;AAED,AAAA,QAAQ,CAAC,EACP,gBAAgB,EAAE,OAAO,EACzB,WAAW,EAAE,iBAAiB,GAC/B;;AAED,AAAA,KAAK,EAAE,QAAQ,CAAC,EACd,MAAM,EAAE,QAAQ,EAChB,OAAO,EAAE,IAAI,GAEd;;AAJD,AAGE,KAHG,CAGH,CAAC,CAAC,UAAU,EAHP,QAAQ,CAGb,CAAC,CAAC,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC,GAAI;;AAGrC,uBAAuB;AAEvB,AAAA,qBAAqB,CAAC,EACpB,UAAU,EAAE,MAAM,GAMnB;;AAJC,MAAM,mCAHR,GAAA,AAAA,qBAAqB,CAAC,EAIlB,OAAO,EAAE,IAAI,EACb,qBAAqB,EAAE,OAAO,GAEjC,EAAA;;AAED,AACE,IADE,CACF,QAAQ,CAAC,EACP,eAAe,EAAC,IAAI,EACpB,YAAY,EAAE,CAAC,GAChB;;AAED,MAAM,mCANR,GAAA,AAAA,IAAI,CAAC,EAOD,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,IAAI,GAEZ,EAAA;;AAED,uBAAuB;AAEvB,AAAA,OAAO,AAAA,WAAW,CAAC,GAAG,CAAC,EACrB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,IAAI,EACf,UAAU,EAAE,IAAI,EAChB,OAAO,EAAE,KAAK,EACd,aAAa,EAAE,IAAI,GACpB;;AAED,AAAA,MAAM,CAAC,EACL,OAAO,EAAE,KAAK,EACd,SAAS,EAAE,GAAG,EACd,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,QAAQ,GACjB;;AAED,AAAA,UAAU,CAAC,EACT,UAAU,EAAE,IAAI,EAChB,SAAS,EAAE,IAAI,EACf,aAAa,EAAE,IAAI,GACpB" +} \ No newline at end of file diff --git a/assignment/index.html b/assignment/index.html new file mode 100644 index 0000000..3d65fb8 --- /dev/null +++ b/assignment/index.html @@ -0,0 +1,11 @@ + + + + Redirecting… + + + + +

Redirecting…

+ Click here if you are not redirected. + diff --git a/assignments/aquarium/index.html b/assignments/aquarium/index.html new file mode 100644 index 0000000..0ac9d67 --- /dev/null +++ b/assignments/aquarium/index.html @@ -0,0 +1,195 @@ + + + + + + + +Aquarium + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Aquarium | BRIDGES High School + + + + + + + + + + +
+

Aquarium

+
+ + +
+ +
+
+

Table of contents

+ +
+
+ + +
+

Description

+

Arrays in Java are data structures that hold multiple objects in one memory location. They can hold a fixed number of one type of object or variable, but that object can be almost anything. In this project, we will practice manipulating arrays and accessing elements using methods from the Array class. You are the owner of an aquarium with a fixed number of tanks, you also happen to be a little indecisive and like to change which fish go in what tanks. Think of the aquarium as an array, each tank represents an index, and the fish are the objects.

+
+ Example output +
+ + Aquarium example output + +
+
+ +

Topics

+ + + + +

Instructional materials

+
+

+ BRIDGES instructors: + To access teacher files or solution files, use the Bridges_Users Shared Drive. + If you do not already have access, please contact iuse-bridges-group@uncc.edu. +

+
+ +

Student files

+ + + + + + + +

Teacher files

+ + + + + + + +

Documentation

+ +
+
+ + + + + + + diff --git a/assignments/bugstomp/index.html b/assignments/bugstomp/index.html new file mode 100644 index 0000000..c711baf --- /dev/null +++ b/assignments/bugstomp/index.html @@ -0,0 +1,197 @@ + + + + + + + +BugStomp + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + BugStomp | BRIDGES High School + + + + + + + + + + +
+

BugStomp

+
+ + +
+ +
+
+

Table of contents

+ +
+
+ + +
+

Description

+

BugStomp is a whack-a-mole style game where you use the arrow keys to move your player and attempt to touch or "stomp" the bug. The bug flashes to a random location on the board after a set number of frames. For each bug stomped, the score increases until the player eventually wins. In this project, you will implement the BugStomp game with BRIDGES.

+
+ Example output +
+ + BugStomp example output + +
+
+ +

Topics

+ + + + +

Instructional materials

+
+

+ BRIDGES instructors: + To access teacher files or solution files, use the Bridges_Users Shared Drive. + If you do not already have access, please contact iuse-bridges-group@uncc.edu. +

+
+ +

Student files

+ + + + + + + +

Teacher files

+ + + + + + + +

Documentation

+ +
+
+ + + + + + + diff --git a/assignments/chaos-game/index.html b/assignments/chaos-game/index.html new file mode 100644 index 0000000..7248b38 --- /dev/null +++ b/assignments/chaos-game/index.html @@ -0,0 +1,185 @@ + + + + + + + +Chaos Game + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Chaos Game | BRIDGES High School + + + + + + + + + + +
+

Chaos Game

+
+ + +
+ +
+
+

Table of contents

+ +
+
+ + +
+

Description

+

In this project, students will create fractal designs using a chaos game algorithm. They will learn about Java record classes and will use the BRIDGES GraphAdjList class for creating visualisations.

+
+ Example output +
+ + Chaos Game example output + +
+
+ +

Topics

+ + + + +

Instructional materials

+
+

+ BRIDGES instructors: + To access teacher files or solution files, use the Bridges_Users Shared Drive. + If you do not already have access, please contact iuse-bridges-group@uncc.edu. +

+
+ +

Student files

+ + + + + + + +

Teacher files

+ + + + + + + +

Documentation

+ +
+
+ + + + + + + diff --git a/assignments/earthquake-linked-list/index.html b/assignments/earthquake-linked-list/index.html new file mode 100644 index 0000000..02221ee --- /dev/null +++ b/assignments/earthquake-linked-list/index.html @@ -0,0 +1,221 @@ + + + + + + + +Earthquake Linked List + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Earthquake Linked List | BRIDGES High School + + + + + + + + + + +
+

Earthquake Linked List

+
+ + +
+ +
+
+

Table of contents

+ +
+
+ + +
+

Description

+

Students create a linked list using real-time earthquake data from the US Geological Survey. This project involves reading source code and arranging code segments in the correct order.

+
+ Example output +
+ + Each node represents an earthquake. The node's color, size, and shape vary depending on the earthquake's magnitude and location. + +
+
+ +

Topics

+ + + + +

Instructional materials

+
+

+ BRIDGES instructors: + To access teacher files or solution files, use the Bridges_Users Shared Drive. + If you do not already have access, please contact iuse-bridges-group@uncc.edu. +

+
+ +

Student files

+ + Java + + + + + Python + + + +

Teacher files

+ + Java + + + + + Python + + + +

Documentation

+ +
+
+ + + + + + + diff --git a/assignments/emoji-builder/index.html b/assignments/emoji-builder/index.html new file mode 100644 index 0000000..6fc1a4a --- /dev/null +++ b/assignments/emoji-builder/index.html @@ -0,0 +1,206 @@ + + + + + + + +Emoji Builder + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Emoji Builder | BRIDGES High School + + + + + + + + + + +
+

Emoji Builder

+
+ + +
+ +
+ +
+ + +
+

Description

+

Students use their undertanding of 2D arrays to create an emoji using the BRIDGES NonBlockingGame class. This project is indended to build student comfort with BRIDGES, so it is ungraded and there is no rubric.

+
+ Example output +
+ + Emoji Builder example output + +
+
+ +

Topics

+ + + +

Intended learning outcomes

+ + + +

Instructional materials

+
+

+ BRIDGES instructors: + To access teacher files or solution files, use the Bridges_Users Shared Drive. + If you do not already have access, please contact iuse-bridges-group@uncc.edu. +

+
+ +

Student files

+ + Java + + + + + Python + + + +

Teacher files

+ + Java + + + + + Python + + + +

Documentation

+ +
+
+ + + + + + + diff --git a/assignments/game-of-life/index.html b/assignments/game-of-life/index.html new file mode 100644 index 0000000..119866e --- /dev/null +++ b/assignments/game-of-life/index.html @@ -0,0 +1,189 @@ + + + + + + + +Game of Life + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Game of Life | BRIDGES High School + + + + + + + + + + +
+

Game of Life

+
+ + +
+ +
+
+

Table of contents

+ +
+
+ + +
+

Description

+

The Game of Life is a two-dimensional cellular automaton invented by John Conway in 1970. The state of each individual cell is determined by simple rules, but patterns of hundreds of cells working together can exhibit complex behavior. In this project, students will create an interactive Game of Life animation using the BRIDGES Java API.

+
+ Example output +
+ + Game of Life example output + +
+
+ +

Topics

+ + + + +

Instructional materials

+
+

+ BRIDGES instructors: + To access teacher files or solution files, use the Bridges_Users Shared Drive. + If you do not already have access, please contact iuse-bridges-group@uncc.edu. +

+
+ +

Student files

+ + + + + + + +

Teacher files

+ + + + + + + +

Documentation

+ +
+
+ + + + + + + diff --git a/assignments/gamebasics-1/index.html b/assignments/gamebasics-1/index.html new file mode 100644 index 0000000..cfc2c43 --- /dev/null +++ b/assignments/gamebasics-1/index.html @@ -0,0 +1,244 @@ + + + + + + + +GameBasics I + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GameBasics I | BRIDGES High School + + + + + + + + + + +
+

GameBasics I

+
+ + +
+ +
+ +
+ + +
+

Description

+

The BRIDGES library has a class called NonBlockingGame that allows you to create simple games based on board grids. In this project, students will use the NonBlockingGame class to create a grid that displays a message, one letter per cell. This is not a game yet, but develops prerequisite understanding.

+
+ Example output +
+ + GameBasics I example output + +
+
+ +

Topics

+ + + +

Intended learning outcomes

+ + + +

Instructional materials

+
+

+ BRIDGES instructors: + To access teacher files or solution files, use the Bridges_Users Shared Drive. + If you do not already have access, please contact iuse-bridges-group@uncc.edu. +

+
+ +

Student files

+ + Java + + + + + Python + + + +

Teacher files

+ + Java + + + + + Python + + + +

Documentation

+ +
+
+ + + + + + + diff --git a/assignments/gamebasics-2/index.html b/assignments/gamebasics-2/index.html new file mode 100644 index 0000000..15d852a --- /dev/null +++ b/assignments/gamebasics-2/index.html @@ -0,0 +1,240 @@ + + + + + + + +GameBasics II + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GameBasics II | BRIDGES High School + + + + + + + + + + +
+

GameBasics II

+
+ + +
+ +
+ +
+ + +
+

Description

+

In this second game basics project, students use the NonBlockingGame class to create a player that can be moved around the screen with the arrow keys.

+
+ Example output +
+ + GameBasics II example output + +
+
+ +

Topics

+ + + +

Intended learning outcomes

+ + + +

Instructional materials

+
+

+ BRIDGES instructors: + To access teacher files or solution files, use the Bridges_Users Shared Drive. + If you do not already have access, please contact iuse-bridges-group@uncc.edu. +

+
+ +

Student files

+ + Java + + + + + Python + + + +

Teacher files

+ + Java + + + + + Python + + + +

Documentation

+ +
+
+ + + + + + + diff --git a/assignments/index.html b/assignments/index.html new file mode 100644 index 0000000..e96f65b --- /dev/null +++ b/assignments/index.html @@ -0,0 +1,663 @@ + + + + + + + +Projects + + + + + + + + + + + + + + + + + + + + + + + + + + + + Projects | BRIDGES High School + + + + + + + + + + +
+

Projects

+
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + diff --git a/assignments/interpreter/index.html b/assignments/interpreter/index.html new file mode 100644 index 0000000..4029769 --- /dev/null +++ b/assignments/interpreter/index.html @@ -0,0 +1,235 @@ + + + + + + + +Interpreter + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Interpreter | BRIDGES High School + + + + + + + + + + +
+

Interpreter

+
+ + +
+ +
+
+

Table of contents

+ +
+
+ + +
+

Description

+

In this project, students will create an interpreter for a simple programming language. The interpreter will parse a file into a list of commands, and then execute the commands, using BRIDGES to create circles, polygons, and lines.

+
+ Example output +
+ + Example program and output + +
+
+ +

Topics

+ + + + +

Instructional materials

+
+

+ BRIDGES instructors: + To access teacher files or solution files, use the Bridges_Users Shared Drive. + If you do not already have access, please contact iuse-bridges-group@uncc.edu. +

+
+ +

Student files

+ + + + + + + +

Teacher files

+ + + + + + + +

Documentation

+ +
+
+ + + + + + + diff --git a/assignments/intro-to-oop/index.html b/assignments/intro-to-oop/index.html new file mode 100644 index 0000000..c0c13fa --- /dev/null +++ b/assignments/intro-to-oop/index.html @@ -0,0 +1,222 @@ + + + + + + + +Intro to OOP: Creating Objects of Classes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Intro to OOP: Creating Objects of Classes | BRIDGES High School + + + + + + + + + + +
+

Intro to OOP: Creating Objects of Classes

+
+ + +
+ +
+ +
+ + +
+

Description

+

Using objects of the Symbol and SymbolCollection class to display a collection of rectangle and circle objects in a creative picture.

+
+ Example output +
+ + Intro to OOP: Creating Objects of Classes example output + +
+
+ +

Topics

+ + + +

Intended learning outcomes

+ + + +

Instructional materials

+
+

+ BRIDGES instructors: + To access teacher files or solution files, use the Bridges_Users Shared Drive. + If you do not already have access, please contact iuse-bridges-group@uncc.edu. +

+
+ +

Student files

+ + + + + + + +

Teacher files

+ + + + + + + +

Documentation

+ +
+
+ + + + + + + diff --git a/assignments/maze-generator/index.html b/assignments/maze-generator/index.html new file mode 100644 index 0000000..1144616 --- /dev/null +++ b/assignments/maze-generator/index.html @@ -0,0 +1,203 @@ + + + + + + + +Maze Generator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Maze Generator | BRIDGES High School + + + + + + + + + + +
+

Maze Generator

+
+ + +
+ +
+
+

Table of contents

+ +
+
+ + +
+

Description

+

In this project, students use an algorithm to randomly generate mazes, and display them with the BRIDGES ColorGrid class. The maze is stored as a two-dimensional array of cells. It starts with a single cell in the center, and then branches randomly until the entire grid is filled.

+
+ Example output +
+ + Maze Generator example output + +
+
+ +

Topics

+ + + + +

Instructional materials

+
+

+ BRIDGES instructors: + To access teacher files or solution files, use the Bridges_Users Shared Drive. + If you do not already have access, please contact iuse-bridges-group@uncc.edu. +

+
+ +

Student files

+ + + + + + + +

Teacher files

+ + + + + + + +

Documentation

+ +
+
+ + + + + + + diff --git a/assignments/monster-adventure/index.html b/assignments/monster-adventure/index.html new file mode 100644 index 0000000..a8edafe --- /dev/null +++ b/assignments/monster-adventure/index.html @@ -0,0 +1,205 @@ + + + + + + + +Monster Adventure + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Monster Adventure | BRIDGES High School + + + + + + + + + + +
+

Monster Adventure

+
+ + +
+ +
+
+

Table of contents

+ +
+
+ + +
+

Description

+

Monster Adventure is a type of collecting and avoiding game, where the player will be collecting fruits from the map and avoiding the monster, which will follow the player. The player will use the arrow keys to control the character‘s moves around the map. The score will increase until the player eventually wins.

+
+ Example output +
+ + Monster Adventure example output + +
+
+ +

Topics

+ + + + +

Instructional materials

+
+

+ BRIDGES instructors: + To access teacher files or solution files, use the Bridges_Users Shared Drive. + If you do not already have access, please contact iuse-bridges-group@uncc.edu. +

+
+ +

Student files

+ + + + + + + +

Teacher files

+ + + + + + + +

Documentation

+ +
+
+ + + + + + + diff --git a/assignments/mountain-paths/index.html b/assignments/mountain-paths/index.html new file mode 100644 index 0000000..9f33ec2 --- /dev/null +++ b/assignments/mountain-paths/index.html @@ -0,0 +1,242 @@ + + + + + + + +Mountain Paths + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Mountain Paths | BRIDGES High School + + + + + + + + + + +
+

Mountain Paths

+
+ + +
+ +
+ +
+ + +
+

Description

+

In this project, students read elevation data into a 2D array, compute the path of least elevation change using a greedy algorithm, and visualise the path with the ColorGrid class.

+
+ Example output +
+ + In the map above, lighter shades mean higher elevation. The red line shows a "lowest elevation change" path traveling west to east. + +
+
+ +

Topics

+ + + +

Intended learning outcomes

+ + + +

Instructional materials

+
+

+ BRIDGES instructors: + To access teacher files or solution files, use the Bridges_Users Shared Drive. + If you do not already have access, please contact iuse-bridges-group@uncc.edu. +

+
+ +

Student files

+ + + + + + + +

Teacher files

+ + + + + + + +

Documentation

+ +
+
+ + + + + + + diff --git a/assignments/pattern-builder/index.html b/assignments/pattern-builder/index.html new file mode 100644 index 0000000..f860f6e --- /dev/null +++ b/assignments/pattern-builder/index.html @@ -0,0 +1,200 @@ + + + + + + + +Pattern Builder + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Pattern Builder | BRIDGES High School + + + + + + + + + + +
+

Pattern Builder

+
+ + +
+ +
+ +
+ + +
+

Description

+

Using the BRIDGES ColorGrid class, students solve seven pattern-creation challenges by applying knowledge of conditionals, nested loops, and 2D array traversal.

+
+ Example output +
+ + Pattern Builder example output + +
+
+ +

Topics

+ + + +

Intended learning outcomes

+ + + +

Instructional materials

+
+

+ BRIDGES instructors: + To access teacher files or solution files, use the Bridges_Users Shared Drive. + If you do not already have access, please contact iuse-bridges-group@uncc.edu. +

+
+ +

Student files

+ + + + + + + +

Teacher files

+ + + + + + + +

Documentation

+ +
+
+ + + + + + + diff --git a/assignments/patterns-in-song-lyrics/index.html b/assignments/patterns-in-song-lyrics/index.html new file mode 100644 index 0000000..2a53d78 --- /dev/null +++ b/assignments/patterns-in-song-lyrics/index.html @@ -0,0 +1,231 @@ + + + + + + + +Patterns in Song Lyrics + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Patterns in Song Lyrics | BRIDGES High School + + + + + + + + + + +
+

Patterns in Song Lyrics

+
+ + +
+ +
+
+

Table of contents

+ +
+
+ + +
+

Description

+

In this project, students access song lyrics using BRIDGES and check for repetition. They display the repetition with the ColorGrid class, creating patterns like the following:

+
+ Example output +
+ + Example output for the song "Harder Faster Stronger" by Daft Punk. + +
+
+ +

Topics

+ + + + +

Instructional materials

+
+

+ BRIDGES instructors: + To access teacher files or solution files, use the Bridges_Users Shared Drive. + If you do not already have access, please contact iuse-bridges-group@uncc.edu. +

+
+ +

Student files

+ + Java + + + + + Python + + + +

Teacher files

+ + Java + + + + + Python + + + +

Documentation

+ +
+
+ + + + + + + diff --git a/assignments/rainbow-snake/index.html b/assignments/rainbow-snake/index.html new file mode 100644 index 0000000..b84a8dd --- /dev/null +++ b/assignments/rainbow-snake/index.html @@ -0,0 +1,221 @@ + + + + + + + +Rainbow Snake + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Rainbow Snake | BRIDGES High School + + + + + + + + + + +
+

Rainbow Snake

+
+ + +
+ +
+
+

Table of contents

+ +
+
+ + +
+

Description

+

Use the arrow keys to move a snake around the board to eat apples. Try to eat as many apples as possible. It will get more difficult the longer you play, with the snake growing in size for each apple eaten.

+
+ Example output +
+ + Rainbow Snake example output + +
+
+ +

Topics

+ + + + +

Instructional materials

+
+

+ BRIDGES instructors: + To access teacher files or solution files, use the Bridges_Users Shared Drive. + If you do not already have access, please contact iuse-bridges-group@uncc.edu. +

+
+ +

Student files

+ + Java + + + + + Python + + + +

Teacher files

+ + Java + + + + + Python + + + +

Documentation

+ +
+
+ + + + + + + diff --git a/assignments/search.js b/assignments/search.js new file mode 100644 index 0000000..39a8a48 --- /dev/null +++ b/assignments/search.js @@ -0,0 +1,218 @@ +const searchData = { + + "intro-to-oop" : ` + Intro to OOP: Creating Objects of Classes Introduce learners to creating objects of classes Using objects of the Symbol and SymbolCollection class to display a collection of rectangle and circle objects in a creative picture. easier + java + + + Creating Objects API usage Inheritance + Bridges SymbolCollection Symbol Circle Rectangle + `, + + "aquarium" : ` + Aquarium Learn about arrays of objects by creating an aquarium. Arrays in Java are data structures that hold multiple objects in one memory location. They can hold a fixed number of one type of object or variable, but that object can be almost anything. In this project, we will practice manipulating arrays and accessing elements using methods from the Array class. You are the owner of an aquarium with a fixed number of tanks, you also happen to be a little indecisive and like to change which fish go in what tanks. Think of the aquarium as an array, each tank represents an index, and the fish are the objects. easier + java + + + Arrays Classes Loops Booleans and conditionals NonBlockingGame class + NonBlockingGame NamedColor NamedSymbol + `, + + "emoji-builder" : ` + Emoji Builder Create a custom emoji using the NonBlockingGame class. Students use their undertanding of 2D arrays to create an emoji using the BRIDGES NonBlockingGame class. This project is indended to build student comfort with BRIDGES, so it is ungraded and there is no rubric. easier + java + python + 2d grid + 2D arrays Row-major order Using API documentation + NamedColor NonBlockingGame + `, + + "shape-collection" : ` + Shape Collection Draw circles, rectangles, polygons, and text. Draw circles, rectangles, polygons, and text with the Bridges SymbolCollection class. more difficult + java + python + vector graphics + Reading source code API usage Creating objects + Bridges SymbolCollection Symbol Circle Rectangle Polygon Polyline Text + `, + + "pattern-builder" : ` + Pattern Builder Create colorful patterns with the ColorGrid Class. Using the BRIDGES ColorGrid class, students solve seven pattern-creation challenges by applying knowledge of conditionals, nested loops, and 2D array traversal. easier + java + + 2d grid + Nested loops 2D arrays Conditionals + Bridges ColorGrid Grid + `, + + "square-fill" : ` + Square Fill Create random layered squares using the ColorGrid class. The BRIDGES library has a class called ColorGrid that allows you to represent an image as a grid of colored cells. The programmer defines the number of rows, number of columns, and default color. In this project, you will use iteration to create layers of squares until the entire grid is filled. more difficult + java + + 2d grid + Nested loops 2D arrays Conditionals + Bridges ColorGrid Color + `, + + "gamebasics-1" : ` + GameBasics I Display a custom message and alter it with keyboard input. The BRIDGES library has a class called NonBlockingGame that allows you to create simple games based on board grids. In this project, students will use the NonBlockingGame class to create a grid that displays a message, one letter per cell. This is not a game yet, but develops prerequisite understanding. easier + java + python + game 2d grid + 2D arrays API usage (NonBlockingGame class, NamedSymbol enum, NamedColor enum) Inheritance Abstract classes + NonBlockingGame GameBase NamedColor NamedSymbol + `, + + "gamebasics-2" : ` + GameBasics II Create a player that can be moved around the game board with keyboard input. In this second game basics project, students use the NonBlockingGame class to create a player that can be moved around the screen with the arrow keys. easier + java + python + game 2d grid + 2D arrays API usage (NonBlockingGame class, NamedSymbol enum, NamedColor enum) Event-driven programming + NonBlockingGame GameBase NamedColor NamedSymbol + `, + + "bugstomp" : ` + BugStomp Make a whack-a-mole style game where the player stomps bugs to increase their score. BugStomp is a whack-a-mole style game where you use the arrow keys to move your player and attempt to touch or "stomp" the bug. The bug flashes to a random location on the board after a set number of frames. For each bug stomped, the score increases until the player eventually wins. In this project, you will implement the BugStomp game with BRIDGES. easier + java + + game 2d grid + Random class API usage Arrays Nested loops Conditionals + NonBlockingGame GameBase NamedColor NamedSymbol + `, + + "rainbow-snake" : ` + Rainbow Snake Create a colorful Snake game. Use the arrow keys to move a snake around the board to eat apples. Try to eat as many apples as possible. It will get more difficult the longer you play, with the snake growing in size for each apple eaten. more difficult + java + python + game 2d grid + API usage Arrays Loops Conditionals ArrayLists Mod + NonBlockingGame GameBase NamedColor NamedSymbol + `, + + "tron" : ` + Tron Create a two-player game that resembles the movie Tron. In this project, you will use the NonBlockingGame class to make a two-player video game. Each player controls a snake that gets longer and longer, and when one player crashes into something, the other person wins. more difficult + java + + game 2d grid + ArrayLists Classes Loops Booleans and conditionals NonBlockingGame class + NonBlockingGame GameBase NamedColor + `, + + "monster-adventure" : ` + Monster Adventure Player collects fruit while avoiding the monster. Monster Adventure is a type of collecting and avoiding game, where the player will be collecting fruits from the map and avoiding the monster, which will follow the player. The player will use the arrow keys to control the character‘s moves around the map. The score will increase until the player eventually wins. more difficult + java + + game 2d grid + Methods Classes Loops Booleans and conditionals NonBlockingGame class 2d arrays + NonBlockingGame GameBase NamedColor NamedSymbol + `, + + "chaos-game" : ` + Chaos Game Create fractal designs using a chaos game algorithm. In this project, students will create fractal designs using a chaos game algorithm. They will learn about Java record classes and will use the BRIDGES GraphAdjList class for creating visualisations. more difficult + java + + + Record classes Iteration API usage + Bridges GraphAdjList Element + `, + + "game-of-life" : ` + Game of Life Create an interactive cellular automaton. The Game of Life is a two-dimensional cellular automaton invented by John Conway in 1970. The state of each individual cell is determined by simple rules, but patterns of hundreds of cells working together can exhibit complex behavior. In this project, students will create an interactive Game of Life animation using the BRIDGES Java API. more difficult + java + + 2d grid + Cellular automata Nested loops 2D arrays Conditionals Methods API usage + GameBase NonBlockingGame NamedColor + `, + + "sudoku" : ` + Sudoku Create a program for solving sudoku puzzles. Sudoku is a puzzle game played on a 9 by 9 grid. The objective is to fill the grid with numbers such that each row, column, and 3 by 3 subgrid contains every number from 1 to 9. The game starts with the grid partially completed so that there is only a single solution. In this project, you will create your own sudoku game using the BRIDGES Java API. more difficult + java + + game 2d grid + Nested loops 2D arrays Booleans and conditionals Reading source code API usage + NamedColor NamedSymbol + `, + + "patterns-in-song-lyrics" : ` + Patterns in Song Lyrics Detect repetition in song lyrics and generate a graphical representation of the pattern. In this project, students access song lyrics using BRIDGES and check for repetition. They display the repetition with the ColorGrid class, creating patterns like the following: more difficult + java + python + real-world data parsing + API usage String processing ColorGrid (BRIDGES class for pixel-based graphics) Loops Conditionals + Bridges DataSource Color ColorGrid Song + `, + + "mountain-paths" : ` + Mountain Paths Given elevation data, find the path of least elevation change using a greedy algorithm. In this project, students read elevation data into a 2D array, compute the path of least elevation change using a greedy algorithm, and visualise the path with the ColorGrid class. most difficult + java + + real-world data path finding + Command line arguments Traversing 2D arrays Reading files Greedy algorithm ColorGrid (BRIDGES class for pixel-based graphics) + Bridges ColorGrid Color + `, + + "earthquake-linked-list" : ` + Earthquake Linked List Generate a singly linked list containing real-time earthquake data. Students create a linked list using real-time earthquake data from the US Geological Survey. This project involves reading source code and arranging code segments in the correct order. more difficult + java + python + real-world data linked list + Linked lists Reading source code API usage Element class EarthquakeUSGS class + Bridges Element EarthquakeUSGS SLelement + `, + + "us-cities-map" : ` + US Cities Map Create a Map of Cities in the US Use information stored in the bridges library to create a map of the cities in the United States. You will learn the basics of how hashmaps work as well as creating graphs in bridges. more difficult + java + + real-world data + City Class Hashmap Element Class GraphAdjList + Bridges Element GraphAdjList City + `, + + "maze-generator" : ` + Maze Generator Build solvable mazes with a random-branching algorithm. In this project, students use an algorithm to randomly generate mazes, and display them with the BRIDGES ColorGrid class. The maze is stored as a two-dimensional array of cells. It starts with a single cell in the center, and then branches randomly until the entire grid is filled. more difficult + java + + 2d grid + Enumerations Arraylists 2D arrays Nested loops API usage Methods Conditionals + Bridges ColorGrid Color + `, + + "interpreter" : ` + Interpreter Create your own programming language. In this project, students will create an interpreter for a simple programming language. The interpreter will parse a file into a list of commands, and then execute the commands, using BRIDGES to create circles, polygons, and lines. most difficult + java + + vector graphics parsing + Command line arguments Try and catch blocks Reading files StringBuilder class String parsing Arraylists BRIDGES SymbolCollection API + Bridges SymbolCollection Symbol Circle Rectangle Polygon Polyline Text + `, + + "street-map" : ` + Street Map Use Dijkstra's algorithm to find the shortest path across a city. A graph is a mathematical object consisting of connections (edges) between points (vertices). Graphs are used fairly often in computer science, because they can model many of the networks that arise from real-world data. In this project, we will use a technique called Dijkstra's algorithm to find the shortest path across a city. most difficult + java + + real-world data path finding + Graphs Dijkstra's algorithm Records Nested classes Hash-maps and hash-sets API usage + Bridges Color Element GraphAdjList Edge DataSource OsmVertex OsmEdge + `, + +} + +function normalise(str) { + return str.trim().replace(/\s+/g, " ").toLowerCase() +} + +for(const key in searchData) { + searchData[key] = normalise(searchData[key]) +} + +document.getElementById("search").oninput = function() { + const terms = normalise(this.value) + for(const key in searchData) { + document.getElementById(key).style.display = + searchData[key].includes(terms) + ? '' : 'none' + } +} diff --git a/assignments/shape-collection/index.html b/assignments/shape-collection/index.html new file mode 100644 index 0000000..f7b9aab --- /dev/null +++ b/assignments/shape-collection/index.html @@ -0,0 +1,253 @@ + + + + + + + +Shape Collection + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Shape Collection | BRIDGES High School + + + + + + + + + + +
+

Shape Collection

+
+ + +
+ +
+
+

Table of contents

+ +
+
+ + +
+

Description

+

Draw circles, rectangles, polygons, and text with the Bridges SymbolCollection class.

+
+ Example output +
+ + Shape Collection example output + +
+
+ +

Topics

+ + + + +

Instructional materials

+
+

+ BRIDGES instructors: + To access teacher files or solution files, use the Bridges_Users Shared Drive. + If you do not already have access, please contact iuse-bridges-group@uncc.edu. +

+
+ +

Student files

+ + Java + + + + + Python + + + +

Teacher files

+ + Java + + + + + Python + + + +

Documentation

+ +
+
+ + + + + + + diff --git a/assignments/square-fill/index.html b/assignments/square-fill/index.html new file mode 100644 index 0000000..ee653f2 --- /dev/null +++ b/assignments/square-fill/index.html @@ -0,0 +1,206 @@ + + + + + + + +Square Fill + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Square Fill | BRIDGES High School + + + + + + + + + + +
+

Square Fill

+
+ + +
+ +
+ +
+ + +
+

Description

+

The BRIDGES library has a class called ColorGrid that allows you to represent an image as a grid of colored cells. The programmer defines the number of rows, number of columns, and default color. In this project, you will use iteration to create layers of squares until the entire grid is filled.

+
+ Example output +
+ + Example output on a 10 by 10 grid + +
+
+ +

Topics

+ + + +

Intended learning outcomes

+ + + +

Instructional materials

+
+

+ BRIDGES instructors: + To access teacher files or solution files, use the Bridges_Users Shared Drive. + If you do not already have access, please contact iuse-bridges-group@uncc.edu. +

+
+ +

Student files

+ + + + + + + +

Teacher files

+ + + + + + + +

Documentation

+ +
+
+ + + + + + + diff --git a/assignments/street-map/index.html b/assignments/street-map/index.html new file mode 100644 index 0000000..01c7e64 --- /dev/null +++ b/assignments/street-map/index.html @@ -0,0 +1,235 @@ + + + + + + + +Street Map + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Street Map | BRIDGES High School + + + + + + + + + + +
+

Street Map

+
+ + +
+ +
+
+

Table of contents

+ +
+
+ + +
+

Description

+

A graph is a mathematical object consisting of connections (edges) between points (vertices). Graphs are used fairly often in computer science, because they can model many of the networks that arise from real-world data. In this project, we will use a technique called Dijkstra's algorithm to find the shortest path across a city.

+
+ Example output +
+ + Example output for New York City; the shortest path from the northwest to the southeast in marked in red. + +
+
+ +

Topics

+ + + + +

Instructional materials

+
+

+ BRIDGES instructors: + To access teacher files or solution files, use the Bridges_Users Shared Drive. + If you do not already have access, please contact iuse-bridges-group@uncc.edu. +

+
+ +

Student files

+ + + + + + + +

Teacher files

+ + + + + + + +

Documentation

+ +
+
+ + + + + + + diff --git a/assignments/sudoku/index.html b/assignments/sudoku/index.html new file mode 100644 index 0000000..e04215a --- /dev/null +++ b/assignments/sudoku/index.html @@ -0,0 +1,208 @@ + + + + + + + +Sudoku + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Sudoku | BRIDGES High School + + + + + + + + + + +
+

Sudoku

+
+ + +
+ +
+ +
+ + +
+

Description

+

Sudoku is a puzzle game played on a 9 by 9 grid. The objective is to fill the grid with numbers such that each row, column, and 3 by 3 subgrid contains every number from 1 to 9. The game starts with the grid partially completed so that there is only a single solution. In this project, you will create your own sudoku game using the BRIDGES Java API.

+
+ Example output +
+ + Sudoku example output + +
+
+ +

Topics

+ + + +

Intended learning outcomes

+ + + +

Instructional materials

+
+

+ BRIDGES instructors: + To access teacher files or solution files, use the Bridges_Users Shared Drive. + If you do not already have access, please contact iuse-bridges-group@uncc.edu. +

+
+ +

Student files

+ + + + + + + +

Teacher files

+ + + + + + + +

Documentation

+ +
+
+ + + + + + + diff --git a/assignments/tron/index.html b/assignments/tron/index.html new file mode 100644 index 0000000..c5b855e --- /dev/null +++ b/assignments/tron/index.html @@ -0,0 +1,191 @@ + + + + + + + +Tron + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Tron | BRIDGES High School + + + + + + + + + + +
+

Tron

+
+ + +
+ +
+
+

Table of contents

+ +
+
+ + +
+

Description

+

In this project, you will use the NonBlockingGame class to make a two-player video game. Each player controls a snake that gets longer and longer, and when one player crashes into something, the other person wins.

+
+ Example output +
+ + Tron example output + +
+
+ +

Topics

+ + + + +

Instructional materials

+
+

+ BRIDGES instructors: + To access teacher files or solution files, use the Bridges_Users Shared Drive. + If you do not already have access, please contact iuse-bridges-group@uncc.edu. +

+
+ +

Student files

+ + + + + + + +

Teacher files

+ + + + + + + +

Documentation

+ +
+
+ + + + + + + diff --git a/assignments/us-cities-map/index.html b/assignments/us-cities-map/index.html new file mode 100644 index 0000000..23b5706 --- /dev/null +++ b/assignments/us-cities-map/index.html @@ -0,0 +1,193 @@ + + + + + + + +US Cities Map + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + US Cities Map | BRIDGES High School + + + + + + + + + + +
+

US Cities Map

+
+ + +
+ +
+
+

Table of contents

+ +
+
+ + +
+

Description

+

Use information stored in the bridges library to create a map of the cities in the United States. You will learn the basics of how hashmaps work as well as creating graphs in bridges.

+
+ Example output +
+ + US Cities Map example output + +
+
+ +

Topics

+ + + + +

Instructional materials

+
+

+ BRIDGES instructors: + To access teacher files or solution files, use the Bridges_Users Shared Drive. + If you do not already have access, please contact iuse-bridges-group@uncc.edu. +

+
+ +

Student files

+ + + + + + + +

Teacher files

+ + + + + + + +

Documentation

+ +
+
+ + + + + + + diff --git a/index.html b/index.html new file mode 100644 index 0000000..a62b84e --- /dev/null +++ b/index.html @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + BRIDGES High School + + + + + + + + + + + + + +
+

+ Engaging Java learners with visualizations and real-world data +

+ +

+ BRIDGES empowers educators to teach computer science in meaningful ways. + Through easy-to-use interfaces to real-world data, students can create + projects applicable to real life in their first year of computer science. + Instructional materials tailored to the high school classroom make + implementation seamless. +

+ + +
+ + + + + + + diff --git a/overview/index.html b/overview/index.html new file mode 100644 index 0000000..fa6cb2e --- /dev/null +++ b/overview/index.html @@ -0,0 +1,152 @@ + + + + + + + +Overview + + + + + + + + + + + + + + + + + + + + + + + + + + + + Overview | BRIDGES High School + + + + + + + + + + +
+

Overview

+
+ + +
+ +
+
+

Table of contents

+ +
+
+ + +
+

Introduction

+

+ Welcome to the high school section of the NSF BRIDGES project at UNCC! This website is intended to help + high school teachers implement BRIDGES assignments in their classrooms. This article provides a concise + overview and explanation of the website. +

+

+ If you have not already set up BRIDGES with your IDE, now is a good time to do so. If you are using CS50, a tutorial is available + here. If you are using any other IDE, a tutorial is available here. +

+
+

+ Note: The high school section of BRIDGES only uses the Java programming language. +

+
+ +

Projects

+

+ Project-based learning is the foundation of BRIDGES. Each assignment is designed to teach computer + science concepts. An assignment page has the following structure: +

+ +
+
+ + + + + + + diff --git a/redirects.json b/redirects.json new file mode 100644 index 0000000..fa9a207 --- /dev/null +++ b/redirects.json @@ -0,0 +1 @@ +{"/adv-topics/":"/bridges-hs/assignments/","/ap-cs-a/":"/bridges-hs/assignments/","/assignment/":"/bridges-hs/assignments/"} \ No newline at end of file diff --git a/robots.txt b/robots.txt new file mode 100644 index 0000000..9daf24a --- /dev/null +++ b/robots.txt @@ -0,0 +1 @@ +Sitemap: /bridges-hs/sitemap.xml diff --git a/sitemap.xml b/sitemap.xml new file mode 100644 index 0000000..6b89e67 --- /dev/null +++ b/sitemap.xml @@ -0,0 +1,78 @@ + + + +/bridges-hs/assignments/ + + +/bridges-hs/overview/ + + +/bridges-hs/ + + +/bridges-hs/assignments/intro-to-oop/ + + +/bridges-hs/assignments/aquarium/ + + +/bridges-hs/assignments/emoji-builder/ + + +/bridges-hs/assignments/shape-collection/ + + +/bridges-hs/assignments/pattern-builder/ + + +/bridges-hs/assignments/square-fill/ + + +/bridges-hs/assignments/gamebasics-1/ + + +/bridges-hs/assignments/gamebasics-2/ + + +/bridges-hs/assignments/bugstomp/ + + +/bridges-hs/assignments/rainbow-snake/ + + +/bridges-hs/assignments/tron/ + + +/bridges-hs/assignments/monster-adventure/ + + +/bridges-hs/assignments/chaos-game/ + + +/bridges-hs/assignments/game-of-life/ + + +/bridges-hs/assignments/sudoku/ + + +/bridges-hs/assignments/patterns-in-song-lyrics/ + + +/bridges-hs/assignments/mountain-paths/ + + +/bridges-hs/assignments/earthquake-linked-list/ + + +/bridges-hs/assignments/us-cities-map/ + + +/bridges-hs/assignments/maze-generator/ + + +/bridges-hs/assignments/interpreter/ + + +/bridges-hs/assignments/street-map/ + +