From 1d12903e4eeba3cd9d39390e29e1fdf0b44248c1 Mon Sep 17 00:00:00 2001 From: Eclypsed Date: Wed, 10 Sep 2025 14:42:57 -0400 Subject: [PATCH] First commit --- Lab 10/storadons.html | 255 ++++++++++++++++++++++ Lab 11/JMU-Logo-RGB-horiz-purple.png | Bin 0 -> 15314 bytes Lab 11/bootstrap.html | 131 +++++++++++ Lab 11/index.html | 130 +++++++++++ Lab 11/local.html | 131 +++++++++++ Lab 11/local.js | 7 + Lab 11/noframe.html | 131 +++++++++++ Lab 11/styles.css | 3 + Lab 2/JMU-Logo-RGB-horiz-purple.png | Bin 0 -> 15314 bytes Lab 2/index.html | 109 +++++++++ Lab 2/lab2.txt | 104 +++++++++ Lab 3/index.html | 125 +++++++++++ Lab 4/basic.html | 79 +++++++ Lab 4/colors-annot.png | Bin 0 -> 289183 bytes Lab 4/colors.css | 19 ++ Lab 4/colors.html | 81 +++++++ Lab 4/colors.png | Bin 0 -> 423564 bytes Lab 4/css.zip | Bin 0 -> 1053 bytes Lab 4/navs-annot.png | Bin 0 -> 322781 bytes Lab 4/navs.css | 34 +++ Lab 4/navs.html | 82 +++++++ Lab 4/navs.png | Bin 0 -> 424151 bytes Lab 4/spaces-annot.png | Bin 0 -> 210260 bytes Lab 4/spaces.css | 38 ++++ Lab 4/spaces.html | 80 +++++++ Lab 4/spaces.png | Bin 0 -> 352317 bytes Lab 5/flex.js | 47 ++++ Lab 5/index.html | 28 +++ Lab 5/styles.css | 79 +++++++ Lab 6/cards.css | 100 +++++++++ Lab 6/dark.css | 52 +++++ Lab 6/index.html | 82 +++++++ Lab 6/layout.css | 107 +++++++++ Lab 6/script.js | 31 +++ Lab 6/styles.css | 52 +++++ Lab 7/card-creator.html | 81 +++++++ Lab 7/cards.css | 214 ++++++++++++++++++ Lab 7/createcard.js | 154 +++++++++++++ Lab 7/modal.css | 95 ++++++++ Lab 8/funs.js | 188 ++++++++++++++++ Lab 8/index.html | 51 +++++ Modals/modal.css | 88 ++++++++ Modals/modal.html | 63 ++++++ Prep 2/ch03-proj01.html | 33 +++ Prep 2/codingjs-1.js | 30 +++ Prep 2/funwebdev-3rd-ed-cover-small.jpg | Bin 0 -> 31749 bytes Prep 2/funwebdev-3rd-ed-cover.jpg | Bin 0 -> 205297 bytes Prep 3/ch03-proj02.html | 61 ++++++ Prep 3/images/share-logo.png | Bin 0 -> 7571 bytes Prep 3/images/v1.jpg | Bin 0 -> 14305 bytes Prep 3/images/v2.jpg | Bin 0 -> 17984 bytes Prep 3/images/v3.jpg | Bin 0 -> 19337 bytes Prep 3/images/venice.jpg | Bin 0 -> 291800 bytes Prep 4/arrays.html | 101 +++++++++ Prep 6/Screenshots/Fluid Colums 400px.png | Bin 0 -> 572095 bytes Prep 6/Screenshots/Fluid Colums 600px.png | Bin 0 -> 566012 bytes Prep 6/Screenshots/Fluid Colums 700px.png | Bin 0 -> 574827 bytes Prep 6/Screenshots/Holy Grail.png | Bin 0 -> 568703 bytes Prep 6/fluid-columns.css | 72 ++++++ Prep 6/fluid-columns.html | 35 +++ Prep 6/holy-grail.css | 34 +++ Prep 6/holy-grail.html | 42 ++++ Prep 7/index.html | 61 ++++++ Prep 8/load.html | 34 +++ Prep 8/save.html | 33 +++ 65 files changed, 3587 insertions(+) create mode 100755 Lab 10/storadons.html create mode 100755 Lab 11/JMU-Logo-RGB-horiz-purple.png create mode 100755 Lab 11/bootstrap.html create mode 100755 Lab 11/index.html create mode 100755 Lab 11/local.html create mode 100755 Lab 11/local.js create mode 100755 Lab 11/noframe.html create mode 100755 Lab 11/styles.css create mode 100755 Lab 2/JMU-Logo-RGB-horiz-purple.png create mode 100755 Lab 2/index.html create mode 100755 Lab 2/lab2.txt create mode 100755 Lab 3/index.html create mode 100755 Lab 4/basic.html create mode 100755 Lab 4/colors-annot.png create mode 100755 Lab 4/colors.css create mode 100755 Lab 4/colors.html create mode 100755 Lab 4/colors.png create mode 100755 Lab 4/css.zip create mode 100755 Lab 4/navs-annot.png create mode 100755 Lab 4/navs.css create mode 100755 Lab 4/navs.html create mode 100755 Lab 4/navs.png create mode 100755 Lab 4/spaces-annot.png create mode 100755 Lab 4/spaces.css create mode 100755 Lab 4/spaces.html create mode 100755 Lab 4/spaces.png create mode 100755 Lab 5/flex.js create mode 100755 Lab 5/index.html create mode 100755 Lab 5/styles.css create mode 100755 Lab 6/cards.css create mode 100755 Lab 6/dark.css create mode 100755 Lab 6/index.html create mode 100755 Lab 6/layout.css create mode 100755 Lab 6/script.js create mode 100755 Lab 6/styles.css create mode 100755 Lab 7/card-creator.html create mode 100755 Lab 7/cards.css create mode 100755 Lab 7/createcard.js create mode 100755 Lab 7/modal.css create mode 100755 Lab 8/funs.js create mode 100755 Lab 8/index.html create mode 100755 Modals/modal.css create mode 100755 Modals/modal.html create mode 100755 Prep 2/ch03-proj01.html create mode 100755 Prep 2/codingjs-1.js create mode 100755 Prep 2/funwebdev-3rd-ed-cover-small.jpg create mode 100755 Prep 2/funwebdev-3rd-ed-cover.jpg create mode 100755 Prep 3/ch03-proj02.html create mode 100755 Prep 3/images/share-logo.png create mode 100755 Prep 3/images/v1.jpg create mode 100755 Prep 3/images/v2.jpg create mode 100755 Prep 3/images/v3.jpg create mode 100755 Prep 3/images/venice.jpg create mode 100755 Prep 4/arrays.html create mode 100755 Prep 6/Screenshots/Fluid Colums 400px.png create mode 100755 Prep 6/Screenshots/Fluid Colums 600px.png create mode 100755 Prep 6/Screenshots/Fluid Colums 700px.png create mode 100755 Prep 6/Screenshots/Holy Grail.png create mode 100755 Prep 6/fluid-columns.css create mode 100755 Prep 6/fluid-columns.html create mode 100755 Prep 6/holy-grail.css create mode 100755 Prep 6/holy-grail.html create mode 100755 Prep 7/index.html create mode 100755 Prep 8/load.html create mode 100755 Prep 8/save.html diff --git a/Lab 10/storadons.html b/Lab 10/storadons.html new file mode 100755 index 0000000..34a8b33 --- /dev/null +++ b/Lab 10/storadons.html @@ -0,0 +1,255 @@ + + + + + + + Storadons + + + + + + + + +
+
+

🦕 Storadons

+ + +
+ + +
+
+
+ + + +
+
    +
    +
    + + + + + \ No newline at end of file diff --git a/Lab 11/JMU-Logo-RGB-horiz-purple.png b/Lab 11/JMU-Logo-RGB-horiz-purple.png new file mode 100755 index 0000000000000000000000000000000000000000..6a8e98686005e19a9b445d4da32a91676a9552c5 GIT binary patch literal 15314 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 literal 0 HcmV?d00001 diff --git a/Lab 11/bootstrap.html b/Lab 11/bootstrap.html new file mode 100755 index 0000000..d01c4a0 --- /dev/null +++ b/Lab 11/bootstrap.html @@ -0,0 +1,131 @@ + + + + + + + CSP Test + + + + + + + + + + + + +
    +
    +
    +
    +
    +

    Inline CSS

    +
    +
    +

    Large text

    +
    +
    +
    +
    +
    +
    +

    Local CSS file

    +
    +
    +

    Level 5 heading

    +
    +
    +
    +
    +
    +
    +

    Remote CSS file

    +
    +
    +

    Level 6 heading

    +
    +
    +
    +
    +
    +
    +

    Inline JavaScript

    +
    +
    +

    + +

    +
    +
    +
    +
    +
    +
    +

    Local JS file

    +
    +
    +

    + +

    +
    +
    +
    +
    +
    +
    +

    Remote JS file

    +
    +
    +

    + +

    +
    +
    +
    +
    +
    +
    +

    Display an image

    +
    +
    + Image should not load due to CSP +
    +
    +
    +
    +
    +
    +

    Local image in iframe

    +
    +
    + +
    +
    +
    +
    +
    +
    +

    Remote image in iframe

    +
    +
    + +
    +
    +
    +
    +
    + + + \ No newline at end of file diff --git a/Lab 11/index.html b/Lab 11/index.html new file mode 100755 index 0000000..905488f --- /dev/null +++ b/Lab 11/index.html @@ -0,0 +1,130 @@ + + + + + + + CSP Test + + + + + + + + + + + +
    +
    +
    +
    +
    +

    Inline CSS

    +
    +
    +

    Large text

    +
    +
    +
    +
    +
    +
    +

    Local CSS file

    +
    +
    +

    Level 5 heading

    +
    +
    +
    +
    +
    +
    +

    Remote CSS file

    +
    +
    +

    Level 6 heading

    +
    +
    +
    +
    +
    +
    +

    Inline JavaScript

    +
    +
    +

    + +

    +
    +
    +
    +
    +
    +
    +

    Local JS file

    +
    +
    +

    + +

    +
    +
    +
    +
    +
    +
    +

    Remote JS file

    +
    +
    +

    + +

    +
    +
    +
    +
    +
    +
    +

    Display an image

    +
    +
    + Image should not load due to CSP +
    +
    +
    +
    +
    +
    +

    Local image in iframe

    +
    +
    + +
    +
    +
    +
    +
    +
    +

    Remote image in iframe

    +
    +
    + +
    +
    +
    +
    +
    + + + \ No newline at end of file diff --git a/Lab 11/local.html b/Lab 11/local.html new file mode 100755 index 0000000..4c3d2a2 --- /dev/null +++ b/Lab 11/local.html @@ -0,0 +1,131 @@ + + + + + + + CSP Test + + + + + + + + + + + + +
    +
    +
    +
    +
    +

    Inline CSS

    +
    +
    +

    Large text

    +
    +
    +
    +
    +
    +
    +

    Local CSS file

    +
    +
    +

    Level 5 heading

    +
    +
    +
    +
    +
    +
    +

    Remote CSS file

    +
    +
    +

    Level 6 heading

    +
    +
    +
    +
    +
    +
    +

    Inline JavaScript

    +
    +
    +

    + +

    +
    +
    +
    +
    +
    +
    +

    Local JS file

    +
    +
    +

    + +

    +
    +
    +
    +
    +
    +
    +

    Remote JS file

    +
    +
    +

    + +

    +
    +
    +
    +
    +
    +
    +

    Display an image

    +
    +
    + Image should not load due to CSP +
    +
    +
    +
    +
    +
    +

    Local image in iframe

    +
    +
    + +
    +
    +
    +
    +
    +
    +

    Remote image in iframe

    +
    +
    + +
    +
    +
    +
    +
    + + + \ No newline at end of file diff --git a/Lab 11/local.js b/Lab 11/local.js new file mode 100755 index 0000000..d32e226 --- /dev/null +++ b/Lab 11/local.js @@ -0,0 +1,7 @@ +(function() { + let scripts = document.getElementsByTagName('script'); + let script = scripts[scripts.length - 1]; + let parent = script.parentNode; + + parent.textContent = 'This is locally generated'; +})(); diff --git a/Lab 11/noframe.html b/Lab 11/noframe.html new file mode 100755 index 0000000..08ba3f8 --- /dev/null +++ b/Lab 11/noframe.html @@ -0,0 +1,131 @@ + + + + + + + CSP Test + + + + + + + + + + + + +
    +
    +
    +
    +
    +

    Inline CSS

    +
    +
    +

    Large text

    +
    +
    +
    +
    +
    +
    +

    Local CSS file

    +
    +
    +

    Level 5 heading

    +
    +
    +
    +
    +
    +
    +

    Remote CSS file

    +
    +
    +

    Level 6 heading

    +
    +
    +
    +
    +
    +
    +

    Inline JavaScript

    +
    +
    +

    + +

    +
    +
    +
    +
    +
    +
    +

    Local JS file

    +
    +
    +

    + +

    +
    +
    +
    +
    +
    +
    +

    Remote JS file

    +
    +
    +

    + +

    +
    +
    +
    +
    +
    +
    +

    Display an image

    +
    +
    + Image should not load due to CSP +
    +
    +
    +
    +
    +
    +

    Local image in iframe

    +
    +
    + +
    +
    +
    +
    +
    +
    +

    Remote image in iframe

    +
    +
    + +
    +
    +
    +
    +
    + + + \ No newline at end of file diff --git a/Lab 11/styles.css b/Lab 11/styles.css new file mode 100755 index 0000000..2f502ec --- /dev/null +++ b/Lab 11/styles.css @@ -0,0 +1,3 @@ +.h5 { + font-style: italic; +} diff --git a/Lab 2/JMU-Logo-RGB-horiz-purple.png b/Lab 2/JMU-Logo-RGB-horiz-purple.png new file mode 100755 index 0000000000000000000000000000000000000000..6a8e98686005e19a9b445d4da32a91676a9552c5 GIT binary patch literal 15314 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 literal 0 HcmV?d00001 diff --git a/Lab 2/index.html b/Lab 2/index.html new file mode 100755 index 0000000..166fd38 --- /dev/null +++ b/Lab 2/index.html @@ -0,0 +1,109 @@ + + + + + + + + + CS 343 Lab 2 + + + + + +
    +

    CS 343: Application Development

    +

    Fall 2023

    +
    +

    "A user interface is like a joke. If you have to explain it, it’s not that good."

    +

    - Martin LeBlanc

    +
    +
    + +
    + +
    +

    +

    + Learning to work with the tools and technologies that are used to build and + create web sites is both empowering and fun. With these tools, you can build + your own web sites and customize the experience of those you visit. You can + also create interactive applications for storing and manipulating personal or + enterprise data. And you can dynamically generate images and graphics to help + visualize data sets. +

    +

    + The goal of this course is to explore these technologies - HTML, CSS, and + Javascript - that define the structure, presentation, and interactions for + modern web development. In addition to covering the basics of how to use these + tools, we will explore guidelines to ensure the sites we create are accessible + for a variety of users, including users with disabilities. After completing + this course, you will have a solid foundation to continue learning more + advanced web development techniques. +

    + +
    + +
    + +
    +

    +

    + Following the successful completion of this course, students will be able to: +

    +
      +
    1. Summarize the key steps and processes for retrieving and displaying a web page.
    2. +
    3. Structure text documents as HTML and publish them on a server.
    4. +
    5. Apply accessibility standards to web documents.
    6. +
    7. Create and adapt CSS style sheets for consistent web site presentation and styling.
    8. +
    9. Use a web framework to create a modern, responsive web site.
    10. +
    11. Generate HTML content dynamically with Javascript.
    12. +
    13. Create handlers to detect and respond to user input events.
    14. +
    15. Store and retrieve data in client-side storage.
    16. +
    17. Build images dynamically using provided data.
    18. +
    19. Learn to consult a web framework documentation and tutorials for additional help.
    20. +
    +
    + +
    + +
    +

    +

    + Projects or topics in computer science which are of interest to the lower + division student. May be repeated for credit when course content changes. + Topics may vary. Prerequisite: Fully admitted Computer Science majors or + minors only and students should consult the instructor prior to enrolling + for the course. +

    +
    + +
    + +
    + + + + + \ No newline at end of file diff --git a/Lab 2/lab2.txt b/Lab 2/lab2.txt new file mode 100755 index 0000000..0aae97e --- /dev/null +++ b/Lab 2/lab2.txt @@ -0,0 +1,104 @@ +# CONVERT # LINES TO COMMENTS (DELETE THIS ONE AND THE HORIZONTAL LINES) + +# Create an HTML header using the author (your name), description +# ("Lab 2 submission"), and charset ("UTF-8") meta tags. Add a title of +# "CS 343 Lab 2". + +# Define 4 JavaScript variables here: +# One is a Boolean that controls whether or not the footer image is shown. +# The Boolean MUST be named showFooter for testing purposes. +# The other three are the level-3 headings, including both the

    tag +# and the associated text. The names are not important. + +# Wrap the title, subtitle, and blockquote inside a
    element + + # Page title and subtitle (should both be bigger than section headers) + CS 343: Application Development + Fall 2023 + + # Block quotation. Use an attribute to add the citation "https://uxdworld.com". + # The quote and the name should be two paragraphs. + "A user interface is like a joke. If you have to explain it, it’s not that good." + - Martin LeBlanc + +# End of the
    + + +# HORIZONTAL LINE + +# Section header - MUST BE WRITTEN BY JAVASCRIPT +Course Information + +# Two separate paragraphs +Learning to work with the tools and technologies that are used to build and +create web sites is both empowering and fun. With these tools, you can build +your own web sites and customize the experience of those you visit. You can +also create interactive applications for storing and manipulating personal or +enterprise data. And you can dynamically generate images and graphics to help +visualize data sets. + +The goal of this course is to explore these technologies - HTML, CSS, and +Javascript - that define the structure, presentation, and interactions for +modern web development. In addition to covering the basics of how to use these +tools, we will explore guidelines to ensure the sites we create are accessible +for a variety of users, including users with disabilities. After completing +this course, you will have a solid foundation to continue learning more +advanced web development techniques. + +# Make this a bullet-point list. Format the text as shown in the sample +# solution image. Note that is NOT allowed for bold text. For the book +# title, use the tag to mark it as a citation. + + * Website: https://w3.cs.jmu.edu/kirkpams/343 + * Time: M/W/F 9:10 - 10:00 AM + * Location: King Hall 243 + * Textbook: Fundamentals of Web Development, 3rd Edition + + +# HORIZONTAL LINE + +# Section header - MUST BE WRITTEN BY JAVASCRIPT +Detailed Course Objectives + +# Paragraph +Following the successful completion of this course, students will be able to: + +# Make this a numbered list and do NOT hard-code the numbers + 1. Summarize the key steps and processes for retrieving and displaying a web page. + 2. Structure text documents as HTML and publish them on a server. + 3. Apply accessibility standards to web documents. + 4. Create and adapt CSS style sheets for consistent web site presentation and styling. + 5. Use a web framework to create a modern, responsive web site. + 6. Generate HTML content dynamically with Javascript. + 7. Create handlers to detect and respond to user input events. + 8. Store and retrieve data in client-side storage. + 9. Build images dynamically using provided data. + 10. Learn to consult a web framework documentation and tutorials for additional help. + + +# HORIZONTAL LINE + +# Section header - MUST BE WRITTEN BY JAVASCRIPT +Course Catalog Description + +# Paragraph +Projects or topics in computer science which are of interest to the lower +division student. May be repeated for credit when course content changes. +Topics may vary. Prerequisite: Fully admitted Computer Science majors or +minors only and students should consult the instructor prior to enrolling +for the course. + +# HORIZONTAL LINE + +# Wrap the following image inside a