From 44454e4750448651034f13649d735438e9407b82 Mon Sep 17 00:00:00 2001 From: maxrcode-source <159390701+maxrcode-source@users.noreply.github.com> Date: Tue, 13 Feb 2024 10:37:47 -0700 Subject: [PATCH 01/60] Update streamlit_app.py --- streamlit_app.py | 26 +------------------------- 1 file changed, 1 insertion(+), 25 deletions(-) diff --git a/streamlit_app.py b/streamlit_app.py index 7a0ed1272052..88b92f69fcf8 100644 --- a/streamlit_app.py +++ b/streamlit_app.py @@ -13,28 +13,4 @@ In the meantime, below is an example of what you can do with just a few lines of code: """ -num_points = st.slider("Number of points in spiral", 1, 10000, 1100) -num_turns = st.slider("Number of turns in spiral", 1, 300, 31) - -indices = np.linspace(0, 1, num_points) -theta = 2 * np.pi * num_turns * indices -radius = indices - -x = radius * np.cos(theta) -y = radius * np.sin(theta) - -df = pd.DataFrame({ - "x": x, - "y": y, - "idx": indices, - "rand": np.random.randn(num_points), -}) - -st.altair_chart(alt.Chart(df, height=700, width=700) - .mark_point(filled=True) - .encode( - x=alt.X("x", axis=None), - y=alt.Y("y", axis=None), - color=alt.Color("idx", legend=None, scale=alt.Scale()), - size=alt.Size("rand", legend=None, scale=alt.Scale(range=[1, 150])), - )) +st.title('This is a title') From 45b751e51b846b2f6a73ecd640f06ffa05631b75 Mon Sep 17 00:00:00 2001 From: maxrcode-source <159390701+maxrcode-source@users.noreply.github.com> Date: Tue, 13 Feb 2024 21:01:16 +0000 Subject: [PATCH 02/60] New --- .replit | 14 ++++++++++++++ streamlit_app.py | 11 ++--------- 2 files changed, 16 insertions(+), 9 deletions(-) create mode 100644 .replit diff --git a/.replit b/.replit new file mode 100644 index 000000000000..46a99a328c90 --- /dev/null +++ b/.replit @@ -0,0 +1,14 @@ +entrypoint = "main.py" +modules = ["python-3.10:v18-20230807-322e88b"] + +hidden = [".pythonlibs"] + +[nix] +channel = "stable-23_05" + +[unitTest] +language = "python3" + +[deployment] +run = ["python3", "main.py"] +deploymentTarget = "cloudrun" \ No newline at end of file diff --git a/streamlit_app.py b/streamlit_app.py index 88b92f69fcf8..63cb52bef0ce 100644 --- a/streamlit_app.py +++ b/streamlit_app.py @@ -3,14 +3,7 @@ import pandas as pd import streamlit as st -""" -# Welcome to Streamlit! -Edit `/streamlit_app.py` to customize this app to your heart's desire :heart:. -If you have any questions, checkout our [documentation](https://docs.streamlit.io) and [community -forums](https://discuss.streamlit.io). -In the meantime, below is an example of what you can do with just a few lines of code: -""" - -st.title('This is a title') +st.title('Welcome to the **SHS Computer Science Site +st.header('This brand new site, coded in Python with hosting/library provided by _Streamlit.io_, is for all things Computer Science within Sahuarita High School, this website will provide resources for things such as the CS TSA Test.') From 1bfff4ceca93e51e576f851dbb6be1bb06c67f55 Mon Sep 17 00:00:00 2001 From: maxrcode-source <159390701+maxrcode-source@users.noreply.github.com> Date: Tue, 13 Feb 2024 21:02:31 +0000 Subject: [PATCH 03/60] COOL --- streamlit_app.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/streamlit_app.py b/streamlit_app.py index 63cb52bef0ce..640934686d7e 100644 --- a/streamlit_app.py +++ b/streamlit_app.py @@ -5,5 +5,5 @@ -st.title('Welcome to the **SHS Computer Science Site +st.title('Welcome to the **SHS Computer Science Site') st.header('This brand new site, coded in Python with hosting/library provided by _Streamlit.io_, is for all things Computer Science within Sahuarita High School, this website will provide resources for things such as the CS TSA Test.') From 7645a5bdc0813aae27979dab4e43510cbd013010 Mon Sep 17 00:00:00 2001 From: maxrcode-source <159390701+maxrcode-source@users.noreply.github.com> Date: Tue, 13 Feb 2024 21:03:00 +0000 Subject: [PATCH 04/60] Commit --- streamlit_app.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/streamlit_app.py b/streamlit_app.py index 640934686d7e..ceb56c1bacdf 100644 --- a/streamlit_app.py +++ b/streamlit_app.py @@ -5,5 +5,5 @@ -st.title('Welcome to the **SHS Computer Science Site') +st.title('Welcome to the **SHS Computer Science Site**') st.header('This brand new site, coded in Python with hosting/library provided by _Streamlit.io_, is for all things Computer Science within Sahuarita High School, this website will provide resources for things such as the CS TSA Test.') From 3fde948e48dbc105f1fd28975436bbd37727cec3 Mon Sep 17 00:00:00 2001 From: maxrcode-source <159390701+maxrcode-source@users.noreply.github.com> Date: Tue, 13 Feb 2024 21:04:16 +0000 Subject: [PATCH 05/60] Commit --- .breakpoints | 12 ++++++++++++ replit.nix | 5 +++++ requirements.txt | 1 + streamlit_app.py | 2 +- 4 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 .breakpoints create mode 100644 replit.nix diff --git a/.breakpoints b/.breakpoints new file mode 100644 index 000000000000..b777e37b2af9 --- /dev/null +++ b/.breakpoints @@ -0,0 +1,12 @@ +{ + "files": { + "streamlit_app.py": [ + { + "id": "ee89d22e-c5da-4850-bef3-9f1e8fefb11b", + "line": 10, + "version": 598, + "index": 381 + } + ] + } +} \ No newline at end of file diff --git a/replit.nix b/replit.nix new file mode 100644 index 000000000000..d5465fd95494 --- /dev/null +++ b/replit.nix @@ -0,0 +1,5 @@ +{pkgs}: { + deps = [ + pkgs.glibcLocales + ]; +} diff --git a/requirements.txt b/requirements.txt index 502d7d1a0d19..426166241b27 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,4 @@ altair pandas streamlit +numpy diff --git a/streamlit_app.py b/streamlit_app.py index ceb56c1bacdf..3db8f64f64f3 100644 --- a/streamlit_app.py +++ b/streamlit_app.py @@ -5,5 +5,5 @@ -st.title('Welcome to the **SHS Computer Science Site**') +st.title('Welcome to the _**SHS Computer Science Site**_') st.header('This brand new site, coded in Python with hosting/library provided by _Streamlit.io_, is for all things Computer Science within Sahuarita High School, this website will provide resources for things such as the CS TSA Test.') From 501c6ca710f8c8e15e3254631993641fc10c52dc Mon Sep 17 00:00:00 2001 From: maxrcode-source <159390701+maxrcode-source@users.noreply.github.com> Date: Tue, 13 Feb 2024 21:21:56 +0000 Subject: [PATCH 06/60] Commit --- streamlit_app.py | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/streamlit_app.py b/streamlit_app.py index 3db8f64f64f3..2314bbb144c6 100644 --- a/streamlit_app.py +++ b/streamlit_app.py @@ -2,8 +2,27 @@ import numpy as np import pandas as pd import streamlit as st +import smtplib - -st.title('Welcome to the _**SHS Computer Science Site**_') +st.title('Welcome to the _**SHS Computer Science Site**_!') st.header('This brand new site, coded in Python with hosting/library provided by _Streamlit.io_, is for all things Computer Science within Sahuarita High School, this website will provide resources for things such as the CS TSA Test.') + +st.divider() + +suggestions = st.text_input('Have any suggestions? Feedback such as bugs or even suggestions can help make the site better!') + +if suggestions != "": + + # creates SMTP session + s = smtplib.SMTP('smtp.gmail.com', 587) + # start TLS for security + s.starttls() + # Authentication + s.login("sender_email_id", "sender_email_id_password") + # message to be sent + message = "Message_you_need_to_send" + # sending the mail + s.sendmail("sender_email_id", "receiver_email_id", message) + # terminating the session + s.quit() \ No newline at end of file From 7228ccb72b96756039fd470a786cfa1209283dd0 Mon Sep 17 00:00:00 2001 From: maxrcode-source <159390701+maxrcode-source@users.noreply.github.com> Date: Tue, 13 Feb 2024 21:29:43 +0000 Subject: [PATCH 07/60] Commit --- streamlit_app.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/streamlit_app.py b/streamlit_app.py index 2314bbb144c6..998ff746be61 100644 --- a/streamlit_app.py +++ b/streamlit_app.py @@ -19,10 +19,10 @@ # start TLS for security s.starttls() # Authentication - s.login("sender_email_id", "sender_email_id_password") + s.login("max.ramirez@susdlearns.us", "302306SUSDD") # message to be sent message = "Message_you_need_to_send" # sending the mail - s.sendmail("sender_email_id", "receiver_email_id", message) + s.sendmail("max.ramirez@susdlearns.us", "max.ramirez@susdlearns.us", message) # terminating the session s.quit() \ No newline at end of file From 03a36d076097ad98a5cf709b2843f34bf049dfe1 Mon Sep 17 00:00:00 2001 From: maxrcode-source <159390701+maxrcode-source@users.noreply.github.com> Date: Wed, 14 Feb 2024 20:14:45 +0000 Subject: [PATCH 08/60] Change Title --- .breakpoints | 6 +++--- streamlit_app.py | 16 +--------------- 2 files changed, 4 insertions(+), 18 deletions(-) diff --git a/.breakpoints b/.breakpoints index b777e37b2af9..531efbf02715 100644 --- a/.breakpoints +++ b/.breakpoints @@ -3,9 +3,9 @@ "streamlit_app.py": [ { "id": "ee89d22e-c5da-4850-bef3-9f1e8fefb11b", - "line": 10, - "version": 598, - "index": 381 + "line": 13, + "version": 893, + "index": 411 } ] } diff --git a/streamlit_app.py b/streamlit_app.py index 998ff746be61..fadd9572f12e 100644 --- a/streamlit_app.py +++ b/streamlit_app.py @@ -5,24 +5,10 @@ import smtplib -st.title('Welcome to the _**SHS Computer Science Site**_!') +st.title('SHS Computer Science Site') st.header('This brand new site, coded in Python with hosting/library provided by _Streamlit.io_, is for all things Computer Science within Sahuarita High School, this website will provide resources for things such as the CS TSA Test.') st.divider() suggestions = st.text_input('Have any suggestions? Feedback such as bugs or even suggestions can help make the site better!') -if suggestions != "": - - # creates SMTP session - s = smtplib.SMTP('smtp.gmail.com', 587) - # start TLS for security - s.starttls() - # Authentication - s.login("max.ramirez@susdlearns.us", "302306SUSDD") - # message to be sent - message = "Message_you_need_to_send" - # sending the mail - s.sendmail("max.ramirez@susdlearns.us", "max.ramirez@susdlearns.us", message) - # terminating the session - s.quit() \ No newline at end of file From 091cd51f5eabe3d16197fd6044f27a4f6ee3848e Mon Sep 17 00:00:00 2001 From: maxrcode-source <159390701+maxrcode-source@users.noreply.github.com> Date: Wed, 14 Feb 2024 20:28:11 +0000 Subject: [PATCH 09/60] Update --- streamlit_app.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/streamlit_app.py b/streamlit_app.py index fadd9572f12e..fb515b230837 100644 --- a/streamlit_app.py +++ b/streamlit_app.py @@ -12,3 +12,6 @@ suggestions = st.text_input('Have any suggestions? Feedback such as bugs or even suggestions can help make the site better!') +st.divider() + +st.text("This site is currently under construction, so please be patient with the site. Due to the limitations of the platform of the previous site, I have decided that it would be best to start fresh. I will be adding more features to the site as time goes on. Thank you.") \ No newline at end of file From 89e21d95504dba07a8f82556b40989c25f346906 Mon Sep 17 00:00:00 2001 From: maxrcode-source <159390701+maxrcode-source@users.noreply.github.com> Date: Wed, 14 Feb 2024 20:29:11 +0000 Subject: [PATCH 10/60] Update --- streamlit_app.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/streamlit_app.py b/streamlit_app.py index fb515b230837..f30f57f85ae4 100644 --- a/streamlit_app.py +++ b/streamlit_app.py @@ -14,4 +14,4 @@ st.divider() -st.text("This site is currently under construction, so please be patient with the site. Due to the limitations of the platform of the previous site, I have decided that it would be best to start fresh. I will be adding more features to the site as time goes on. Thank you.") \ No newline at end of file +st.write_stream("This site is currently under construction, so please be patient with the site. Due to the limitations of the platform of the previous site, I have decided that it would be best to start fresh. I will be adding more features to the site as time goes on. Thank you.") \ No newline at end of file From 9f68b8b3a7f52a8690bb93f313ce06c6536cbd93 Mon Sep 17 00:00:00 2001 From: maxrcode-source <159390701+maxrcode-source@users.noreply.github.com> Date: Wed, 14 Feb 2024 20:31:14 +0000 Subject: [PATCH 11/60] Test --- streamlit_app.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/streamlit_app.py b/streamlit_app.py index f30f57f85ae4..f3cb6d685202 100644 --- a/streamlit_app.py +++ b/streamlit_app.py @@ -14,4 +14,4 @@ st.divider() -st.write_stream("This site is currently under construction, so please be patient with the site. Due to the limitations of the platform of the previous site, I have decided that it would be best to start fresh. I will be adding more features to the site as time goes on. Thank you.") \ No newline at end of file +st.write("This site is currently under construction, so please be patient with the site. Due to the limitations of the platform of the previous site, I have decided that it would be best to start fresh. I will be adding more features to the site as time goes on. Thank you.") \ No newline at end of file From fd24e3e1bf06918709562fa31eacfa8805fc7747 Mon Sep 17 00:00:00 2001 From: maxrcode-source <159390701+maxrcode-source@users.noreply.github.com> Date: Wed, 14 Feb 2024 13:45:16 -0700 Subject: [PATCH 12/60] Update README.md --- README.md | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 10dbdedd6091..44fb2f4a367f 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,3 @@ -# Welcome to Streamlit! +# Welcome to my website; SHS CS Site. -Edit `/streamlit_app.py` to customize this app to your heart's desire. :heart: - -If you have any questions, checkout our [documentation](https://docs.streamlit.io) and [community -forums](https://discuss.streamlit.io). +This website is NOT affilated with SUSD in any way, and is actually student made for the Computer Science Program to help educate other studets. From 32558044a9c95af453354e05de9c3c5dd7d343f8 Mon Sep 17 00:00:00 2001 From: maxrcode-source <159390701+maxrcode-source@users.noreply.github.com> Date: Wed, 14 Feb 2024 13:45:58 -0700 Subject: [PATCH 13/60] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 44fb2f4a367f..79b3c2843274 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,3 @@ # Welcome to my website; SHS CS Site. -This website is NOT affilated with SUSD in any way, and is actually student made for the Computer Science Program to help educate other studets. +This website is NOT affilated with SUSD in any way, and is actually student made for the Computer Science Program to help educate other students. From 5e52acc6ed248dff4b4e44f7ad34c120735f92df Mon Sep 17 00:00:00 2001 From: maxrcode-source <159390701+maxrcode-source@users.noreply.github.com> Date: Wed, 14 Feb 2024 13:46:40 -0700 Subject: [PATCH 14/60] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 79b3c2843274..d45af4d13a5a 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,3 @@ -# Welcome to my website; SHS CS Site. +# Welcome to my website; The SHS Computer Science Site. This website is NOT affilated with SUSD in any way, and is actually student made for the Computer Science Program to help educate other students. From 0bf406157399285ccca833d22e554668f4612cfd Mon Sep 17 00:00:00 2001 From: maxrcode-source <159390701+maxrcode-source@users.noreply.github.com> Date: Wed, 14 Feb 2024 13:48:47 -0700 Subject: [PATCH 15/60] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d45af4d13a5a..ae8e017e21ec 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,3 @@ -# Welcome to my website; The SHS Computer Science Site. +# Welcome to my website; **The SHS Computer Science Site**. This website is NOT affilated with SUSD in any way, and is actually student made for the Computer Science Program to help educate other students. From 1a1a441d360069829dff6421edd74de4fe53a4ac Mon Sep 17 00:00:00 2001 From: maxrcode-source <159390701+maxrcode-source@users.noreply.github.com> Date: Wed, 14 Feb 2024 13:49:00 -0700 Subject: [PATCH 16/60] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ae8e017e21ec..ce2e3fb8cbd1 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,3 @@ -# Welcome to my website; **The SHS Computer Science Site**. +# Welcome to my website; **The SHS Computer Science Site.** This website is NOT affilated with SUSD in any way, and is actually student made for the Computer Science Program to help educate other students. From 5fd3a6bd32037ba08eacbd2a505171a66604701b Mon Sep 17 00:00:00 2001 From: maxrcode-source <159390701+maxrcode-source@users.noreply.github.com> Date: Wed, 14 Feb 2024 13:51:47 -0700 Subject: [PATCH 17/60] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ce2e3fb8cbd1..be7d05b80ec5 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,3 @@ # Welcome to my website; **The SHS Computer Science Site.** -This website is NOT affilated with SUSD in any way, and is actually student made for the Computer Science Program to help educate other students. +This website is NOT affilated with SUSD in any way, and is actually student made for the Computer Science Program to help educate other students. :suspect: From 1f7224b9d751e100757560ae03bbeda2e9a5de5a Mon Sep 17 00:00:00 2001 From: maxrcode-source <159390701+maxrcode-source@users.noreply.github.com> Date: Thu, 4 Apr 2024 10:14:39 -0700 Subject: [PATCH 18/60] Update streamlit_app.py --- streamlit_app.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/streamlit_app.py b/streamlit_app.py index f3cb6d685202..f64332c05d8d 100644 --- a/streamlit_app.py +++ b/streamlit_app.py @@ -12,6 +12,8 @@ suggestions = st.text_input('Have any suggestions? Feedback such as bugs or even suggestions can help make the site better!') +st.write(suggestions) + st.divider() -st.write("This site is currently under construction, so please be patient with the site. Due to the limitations of the platform of the previous site, I have decided that it would be best to start fresh. I will be adding more features to the site as time goes on. Thank you.") \ No newline at end of file +st.write("This site is currently under construction, so please be patient with the site. Due to the limitations of the platform of the previous site, I have decided that it would be best to start fresh. I will be adding more features to the site as time goes on. Thank you.") From b454d613b88676100729abd0249b7c8a1b7e1ef4 Mon Sep 17 00:00:00 2001 From: maxrcode-source <159390701+maxrcode-source@users.noreply.github.com> Date: Thu, 4 Apr 2024 10:22:51 -0700 Subject: [PATCH 19/60] NEW UPDATE!!!! --- shslogo.png | Bin 0 -> 31004 bytes streamlit_app.py | 1 + 2 files changed, 1 insertion(+) create mode 100644 shslogo.png diff --git a/shslogo.png b/shslogo.png new file mode 100644 index 0000000000000000000000000000000000000000..2f112ba000e634eb60eec5d449dacecc88ff815b GIT binary patch literal 31004 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 Date: Thu, 4 Apr 2024 10:24:22 -0700 Subject: [PATCH 20/60] New --- streamlit_app.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/streamlit_app.py b/streamlit_app.py index 0db6b587e003..8dabd614082f 100644 --- a/streamlit_app.py +++ b/streamlit_app.py @@ -7,7 +7,7 @@ st.title('SHS Computer Science Site') st.header('This brand new site, coded in Python with hosting/library provided by _Streamlit.io_, is for all things Computer Science within Sahuarita High School, this website will provide resources for things such as the CS TSA Test.') -st.image('shslogo.png', caption='Sahuarita High School Mustang') +st.image('shslogo.png', caption='Sahuarita High School Mustang', width=None, use_column_width=True) st.divider() From ad5e90cebaa321217ed6f8c0c20059b58c1717f0 Mon Sep 17 00:00:00 2001 From: maxrcode-source <159390701+maxrcode-source@users.noreply.github.com> Date: Thu, 4 Apr 2024 10:26:17 -0700 Subject: [PATCH 21/60] new --- streamlit_app.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/streamlit_app.py b/streamlit_app.py index 8dabd614082f..5955d1be6ab0 100644 --- a/streamlit_app.py +++ b/streamlit_app.py @@ -7,7 +7,7 @@ st.title('SHS Computer Science Site') st.header('This brand new site, coded in Python with hosting/library provided by _Streamlit.io_, is for all things Computer Science within Sahuarita High School, this website will provide resources for things such as the CS TSA Test.') -st.image('shslogo.png', caption='Sahuarita High School Mustang', width=None, use_column_width=True) +st.image('shslogo.png', caption='Sahuarita High School Mustang', width=None, use_column_width="auto") st.divider() From 969338f6706cf12f0ff7381f3a84038bd5948d06 Mon Sep 17 00:00:00 2001 From: maxrcode-source <159390701+maxrcode-source@users.noreply.github.com> Date: Thu, 4 Apr 2024 10:27:15 -0700 Subject: [PATCH 22/60] 1 --- streamlit_app.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/streamlit_app.py b/streamlit_app.py index 5955d1be6ab0..60a2a4f3b996 100644 --- a/streamlit_app.py +++ b/streamlit_app.py @@ -7,7 +7,7 @@ st.title('SHS Computer Science Site') st.header('This brand new site, coded in Python with hosting/library provided by _Streamlit.io_, is for all things Computer Science within Sahuarita High School, this website will provide resources for things such as the CS TSA Test.') -st.image('shslogo.png', caption='Sahuarita High School Mustang', width=None, use_column_width="auto") +st.image('shslogo.png', caption='Sahuarita High School Mustang', width=200) st.divider() From a6af5e53a3fa8819457b488c423979d8710d8701 Mon Sep 17 00:00:00 2001 From: maxrcode-source <159390701+maxrcode-source@users.noreply.github.com> Date: Thu, 4 Apr 2024 10:27:30 -0700 Subject: [PATCH 23/60] 1 --- streamlit_app.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/streamlit_app.py b/streamlit_app.py index 60a2a4f3b996..d2b76f8fe36b 100644 --- a/streamlit_app.py +++ b/streamlit_app.py @@ -7,7 +7,7 @@ st.title('SHS Computer Science Site') st.header('This brand new site, coded in Python with hosting/library provided by _Streamlit.io_, is for all things Computer Science within Sahuarita High School, this website will provide resources for things such as the CS TSA Test.') -st.image('shslogo.png', caption='Sahuarita High School Mustang', width=200) +st.image('shslogo.png', caption='Sahuarita High School Mustang', width=800) st.divider() From cfea44e53a3b3b5a67bda982527b494f7712336e Mon Sep 17 00:00:00 2001 From: maxrcode-source <159390701+maxrcode-source@users.noreply.github.com> Date: Thu, 4 Apr 2024 10:27:44 -0700 Subject: [PATCH 24/60] 1 --- streamlit_app.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/streamlit_app.py b/streamlit_app.py index d2b76f8fe36b..9f6b88288386 100644 --- a/streamlit_app.py +++ b/streamlit_app.py @@ -7,7 +7,7 @@ st.title('SHS Computer Science Site') st.header('This brand new site, coded in Python with hosting/library provided by _Streamlit.io_, is for all things Computer Science within Sahuarita High School, this website will provide resources for things such as the CS TSA Test.') -st.image('shslogo.png', caption='Sahuarita High School Mustang', width=800) +st.image('shslogo.png', caption='Sahuarita High School Mustang', width=600) st.divider() From 4a834dc5a85bc51d9fc7d43178c3c0ab55d0139f Mon Sep 17 00:00:00 2001 From: maxrcode-source <159390701+maxrcode-source@users.noreply.github.com> Date: Thu, 4 Apr 2024 10:28:24 -0700 Subject: [PATCH 25/60] 1 --- streamlit_app.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/streamlit_app.py b/streamlit_app.py index 9f6b88288386..7886c4694c91 100644 --- a/streamlit_app.py +++ b/streamlit_app.py @@ -7,7 +7,7 @@ st.title('SHS Computer Science Site') st.header('This brand new site, coded in Python with hosting/library provided by _Streamlit.io_, is for all things Computer Science within Sahuarita High School, this website will provide resources for things such as the CS TSA Test.') -st.image('shslogo.png', caption='Sahuarita High School Mustang', width=600) +#st.image('shslogo.png', caption='Sahuarita High School Mustang', width=600) st.divider() From a16639608e3bbdb294f3855377d8c3c3fe9f4058 Mon Sep 17 00:00:00 2001 From: maxrcode-source <159390701+maxrcode-source@users.noreply.github.com> Date: Fri, 5 Apr 2024 10:16:22 -0700 Subject: [PATCH 26/60] Update streamlit_app.py --- streamlit_app.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/streamlit_app.py b/streamlit_app.py index 7886c4694c91..5ede080e9fb4 100644 --- a/streamlit_app.py +++ b/streamlit_app.py @@ -6,7 +6,7 @@ st.title('SHS Computer Science Site') -st.header('This brand new site, coded in Python with hosting/library provided by _Streamlit.io_, is for all things Computer Science within Sahuarita High School, this website will provide resources for things such as the CS TSA Test.') +st.text('This brand new site, coded in Python with hosting/library provided by _Streamlit.io_, is for all things Computer Science within Sahuarita High School, this website will provide resources for things such as the CS TSA Test.') #st.image('shslogo.png', caption='Sahuarita High School Mustang', width=600) st.divider() From 53d7e6ca177348f198a334bf868f224443e5f8c3 Mon Sep 17 00:00:00 2001 From: maxrcode-source <159390701+maxrcode-source@users.noreply.github.com> Date: Fri, 5 Apr 2024 10:18:25 -0700 Subject: [PATCH 27/60] Update streamlit_app.py --- streamlit_app.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/streamlit_app.py b/streamlit_app.py index 5ede080e9fb4..4239d7a427dc 100644 --- a/streamlit_app.py +++ b/streamlit_app.py @@ -6,7 +6,7 @@ st.title('SHS Computer Science Site') -st.text('This brand new site, coded in Python with hosting/library provided by _Streamlit.io_, is for all things Computer Science within Sahuarita High School, this website will provide resources for things such as the CS TSA Test.') +st.write('This brand new site, coded in Python with hosting/library provided by _Streamlit.io_, is for all things Computer Science within Sahuarita High School, this website will provide resources for things such as the CS TSA Test.') #st.image('shslogo.png', caption='Sahuarita High School Mustang', width=600) st.divider() From e30d303dd6bdad1372ae07c2dd2bec93b250dcb5 Mon Sep 17 00:00:00 2001 From: maxrcode-source <159390701+maxrcode-source@users.noreply.github.com> Date: Fri, 5 Apr 2024 10:27:44 -0700 Subject: [PATCH 28/60] Update streamlit_app.py --- streamlit_app.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/streamlit_app.py b/streamlit_app.py index 4239d7a427dc..9b08feee885d 100644 --- a/streamlit_app.py +++ b/streamlit_app.py @@ -11,9 +11,14 @@ st.divider() -suggestions = st.text_input('Have any suggestions? Feedback such as bugs or even suggestions can help make the site better!') +st.header("Here is all of the available practice tests located below.") -st.write(suggestions) +with st.expander("Full TSA Practice Test, expanded=False): + st.write("Place Holder") + + + +st.header("And here, is all of the available resources located below.") st.divider() From fd7788f568f245e26af2c8c3a0c86cc9569bac46 Mon Sep 17 00:00:00 2001 From: maxrcode-source <159390701+maxrcode-source@users.noreply.github.com> Date: Fri, 5 Apr 2024 10:38:23 -0700 Subject: [PATCH 29/60] Update streamlit_app.py --- streamlit_app.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/streamlit_app.py b/streamlit_app.py index 9b08feee885d..74ce7b08f2a9 100644 --- a/streamlit_app.py +++ b/streamlit_app.py @@ -13,8 +13,8 @@ st.header("Here is all of the available practice tests located below.") -with st.expander("Full TSA Practice Test, expanded=False): - st.write("Place Holder") +with st.expander("Full TSA Practice Test", expanded=False): + st.write("Place Holder") From 45b6ed85aff2212182504d50ab448e035b02eb10 Mon Sep 17 00:00:00 2001 From: maxrcode-source <159390701+maxrcode-source@users.noreply.github.com> Date: Fri, 5 Apr 2024 20:35:08 +0000 Subject: [PATCH 30/60] Incorporated NCCP program as another page. --- pages/ncpp.py | 144 +++++++++++++++++++++++++++++++++++++++++++++++ streamlit_app.py | 3 +- 2 files changed, 146 insertions(+), 1 deletion(-) create mode 100644 pages/ncpp.py diff --git a/pages/ncpp.py b/pages/ncpp.py new file mode 100644 index 000000000000..585e215e15b0 --- /dev/null +++ b/pages/ncpp.py @@ -0,0 +1,144 @@ +""" +Number Conversion Practice +""" +import random + +print("'##::: ##:::::::'######:::::::'########:::::::'########::") +print(" ###:: ##::::::'##... ##:::::: ##.... ##:::::: ##.... ##:") +print(" ####: ##:::::: ##:::..::::::: ##:::: ##:::::: ##:::: ##:") +print(" ## ## ##:::::: ##:::::::::::: ########::::::: ########::") +print(" ##. ####:::::: ##:::::::::::: ##.....:::::::: ##.....:::") +print(" ##:. ###:'###: ##::: ##:'###: ##::::::::'###: ##::::::::") +print(" ##::. ##: ###:. ######:: ###: ##:::::::: ###: ##::::::::") +print() +print() +print("Welcome to the NUMBER CONVERSION PRACTICE PROGRAM.") +print("To get started, input what you like to practice below.") +print() + + +numbersystem = ["binary", "hexadecimal", "decimal", "octal"] + +selecting = True + +while selecting: + first = input("What Number System you'd like to convert? ") + + second = input("What would you like to convert it to? ") + + if first == "binary" or first == "hexadecimal" or first == "decimal" or first == "octal" or second == "binary" or second == "hexadecimal" or second == "decimal" or second == "octal": + print() + print() + print() + print("Okay, let's practice converting", first, "to", second + ".") + print("Press 'Run' above if you want to reset the program and pick another number conversion") + break + else: + print("Not a valid input. Try again.") + continue + +a = [] + + +running = True + +while running: + for i in range(999): + a.append(i) + random.shuffle(a) + number = a[0] + + + + if first == "binary": + number = (str(bin(number))[2:]) + print("Convert", number, "to", second + ".") + print() + print() + response = int(input("Answer: ")) + + + + if second == "octal": + answer = (str(oct(a[0]))[1:]) + if second == "hexadecimal": + answer = (str(hex(a[0]))[2:]) + if second == "decimal": + answer = a[0] + if second == "binary": + answer = (str(bin(a[0]))[2:]) + + + + if first == "decimal": + number = str(number) + print("Convert", number, "to", second + ".") + print() + print() + response = int(input("Answer: ")) + + + + if second == "octal": + answer = (str(oct(a[0]))[1:]) + if second == "hexadecimal": + answer = (str(hex(a[0]))[2:]) + if second == "decimal": + answer = a[0] + if second == "binary": + answer = (str(bin(a[0]))[2:]) + + + + if first == "hexadecimal": + number = (str(hex(number))[2:]) + print("Convert", number, "to", second + ".") + print() + print() + response = int(input("Answer: ")) + + + + if second == "octal": + answer = (str(oct(a[0]))[1:]) + if second == "hexadecimal": + answer = (str(hex(a[0]))[2:]) + if second == "decimal": + answer = a[0] + if second == "binary": + answer = (str(bin(a[0]))[2:]) + + + + if first == "octal": + number = (str(oct(number))[1:]) + print("Convert", number, "to", second + ".") + print() + print() + response = int(input("Answer: ")) + + + + if second == "octal": + answer = (str(oct(a[0]))[1:]) + if second == "hexadecimal": + answer = (str(hex(a[0]))[2:]) + if second == "decimal": + answer = a[0] + if second == "binary": + answer = (str(bin(a[0]))[2:]) + + + + if response == int(answer): + print("Correct!") + print() + print() + else: + print("Wrong!") + print() + print() + + + + \ No newline at end of file diff --git a/streamlit_app.py b/streamlit_app.py index 74ce7b08f2a9..603d40e0d3dd 100644 --- a/streamlit_app.py +++ b/streamlit_app.py @@ -14,7 +14,8 @@ st.header("Here is all of the available practice tests located below.") with st.expander("Full TSA Practice Test", expanded=False): - st.write("Place Holder") + st.page_link("pages/nccp.py", label="NUMBER CONVERSION PRACTICE PROGRAM", icon="1️⃣") + From 75f88ab61235b3fc4d0871bb410f53ed42d03876 Mon Sep 17 00:00:00 2001 From: maxrcode-source <159390701+maxrcode-source@users.noreply.github.com> Date: Fri, 12 Apr 2024 17:03:41 +0000 Subject: [PATCH 31/60] First Page: NCPP --- streamlit_app.py => home.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename streamlit_app.py => home.py (91%) diff --git a/streamlit_app.py b/home.py similarity index 91% rename from streamlit_app.py rename to home.py index 603d40e0d3dd..a797ea9b6abf 100644 --- a/streamlit_app.py +++ b/home.py @@ -14,7 +14,7 @@ st.header("Here is all of the available practice tests located below.") with st.expander("Full TSA Practice Test", expanded=False): - st.page_link("pages/nccp.py", label="NUMBER CONVERSION PRACTICE PROGRAM", icon="1️⃣") + st.page_link("pages/ncpp.py", label="NUMBER CONVERSION PRACTICE PROGRAM") From b316c2360ac9d40cdd9d438cc307cabc9064e314 Mon Sep 17 00:00:00 2001 From: maxrcode-source <159390701+maxrcode-source@users.noreply.github.com> Date: Fri, 12 Apr 2024 17:03:53 +0000 Subject: [PATCH 32/60] new --- .breakpoints | 2 +- .devcontainer/devcontainer.json | 2 +- pages/ncpp.py | 94 +++++++++++++++++---------------- 3 files changed, 51 insertions(+), 47 deletions(-) diff --git a/.breakpoints b/.breakpoints index 531efbf02715..a04202ac9195 100644 --- a/.breakpoints +++ b/.breakpoints @@ -1,6 +1,6 @@ { "files": { - "streamlit_app.py": [ + "home.py": [ { "id": "ee89d22e-c5da-4850-bef3-9f1e8fefb11b", "line": 13, diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 6522374b4ed9..1b65619032a5 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -8,7 +8,7 @@ "codespaces": { "openFiles": [ "README.md", - "streamlit_app.py" + "home.py" ] }, "vscode": { diff --git a/pages/ncpp.py b/pages/ncpp.py index 585e215e15b0..c2f5587f657b 100644 --- a/pages/ncpp.py +++ b/pages/ncpp.py @@ -1,20 +1,26 @@ +import altair as alt +import numpy as np +import pandas as pd +import streamlit as st +import smtplib + """ Number Conversion Practice """ import random -print("'##::: ##:::::::'######:::::::'########:::::::'########::") -print(" ###:: ##::::::'##... ##:::::: ##.... ##:::::: ##.... ##:") -print(" ####: ##:::::: ##:::..::::::: ##:::: ##:::::: ##:::: ##:") -print(" ## ## ##:::::: ##:::::::::::: ########::::::: ########::") -print(" ##. ####:::::: ##:::::::::::: ##.....:::::::: ##.....:::") -print(" ##:. ###:'###: ##::: ##:'###: ##::::::::'###: ##::::::::") -print(" ##::. ##: ###:. ######:: ###: ##:::::::: ###: ##::::::::") -print() -print() -print("Welcome to the NUMBER CONVERSION PRACTICE PROGRAM.") -print("To get started, input what you like to practice below.") -print() +st.write("'##::: ##:::::::'######:::::::'########:::::::'########::") +st.write(" ###:: ##::::::'##... ##:::::: ##.... ##:::::: ##.... ##:") +st.write(" ####: ##:::::: ##:::..::::::: ##:::: ##:::::: ##:::: ##:") +st.write(" ## ## ##:::::: ##:::::::::::: ########::::::: ########::") +st.write(" ##. ####:::::: ##:::::::::::: ##.....:::::::: ##.....:::") +st.write(" ##:. ###:'###: ##::: ##:'###: ##::::::::'###: ##::::::::") +st.write(" ##::. ##: ###:. ######:: ###: ##:::::::: ###: ##::::::::") +st.write() +st.write() +st.write("Welcome to the NUMBER CONVERSION PRACTICE PROGRAM.") +st.write("To get started, st.text_input what you like to practice below.") +st.write() numbersystem = ["binary", "hexadecimal", "decimal", "octal"] @@ -22,19 +28,19 @@ selecting = True while selecting: - first = input("What Number System you'd like to convert? ") + first = st.text_input("What Number System you'd like to convert? ") - second = input("What would you like to convert it to? ") + second = st.text_input("What would you like to convert it to? ") if first == "binary" or first == "hexadecimal" or first == "decimal" or first == "octal" or second == "binary" or second == "hexadecimal" or second == "decimal" or second == "octal": - print() - print() - print() - print("Okay, let's practice converting", first, "to", second + ".") - print("Press 'Run' above if you want to reset the program and pick another number conversion") + st.write() + st.write() + st.write() + st.write("Okay, let's practice converting", first, "to", second + ".") + st.write("Press 'Run' above if you want to reset the program and pick another number conversion") break else: - print("Not a valid input. Try again.") + st.write("Not a valid st.text_input. Try again.") continue a = [] @@ -52,10 +58,10 @@ if first == "binary": number = (str(bin(number))[2:]) - print("Convert", number, "to", second + ".") - print() - print() - response = int(input("Answer: ")) + st.write("Convert", number, "to", second + ".") + st.write() + st.write() + response = int(st.text_input("Answer: ")) @@ -72,10 +78,10 @@ if first == "decimal": number = str(number) - print("Convert", number, "to", second + ".") - print() - print() - response = int(input("Answer: ")) + st.write("Convert", number, "to", second + ".") + st.write() + st.write() + response = int(st.text_input("Answer: ")) @@ -92,10 +98,10 @@ if first == "hexadecimal": number = (str(hex(number))[2:]) - print("Convert", number, "to", second + ".") - print() - print() - response = int(input("Answer: ")) + st.write("Convert", number, "to", second + ".") + st.write() + st.write() + response = int(st.text_input("Answer: ")) @@ -112,10 +118,10 @@ if first == "octal": number = (str(oct(number))[1:]) - print("Convert", number, "to", second + ".") - print() - print() - response = int(input("Answer: ")) + st.write("Convert", number, "to", second + ".") + st.write() + st.write() + response = int(st.text_input("Answer: ")) @@ -131,14 +137,12 @@ if response == int(answer): - print("Correct!") - print() - print() + st.write("Correct!") + st.write() + st.write() else: - print("Wrong!") - print() - print() - + st.write("Wrong!") + st.write() + st.write() - - \ No newline at end of file + \ No newline at end of file From c2ab3f039c9d1726caa5582984aa7d14e024122a Mon Sep 17 00:00:00 2001 From: maxrcode-source <159390701+maxrcode-source@users.noreply.github.com> Date: Fri, 12 Apr 2024 17:05:26 +0000 Subject: [PATCH 33/60] NEW --- home.py | 2 +- pages/ncpp.py => ncpp.py | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename pages/ncpp.py => ncpp.py (100%) diff --git a/home.py b/home.py index a797ea9b6abf..12ea026561a7 100644 --- a/home.py +++ b/home.py @@ -14,7 +14,7 @@ st.header("Here is all of the available practice tests located below.") with st.expander("Full TSA Practice Test", expanded=False): - st.page_link("pages/ncpp.py", label="NUMBER CONVERSION PRACTICE PROGRAM") + st.page_link("ncpp.py", label="NUMBER CONVERSION PRACTICE PROGRAM") diff --git a/pages/ncpp.py b/ncpp.py similarity index 100% rename from pages/ncpp.py rename to ncpp.py From 8c4f008e0c2abd7f7a66f3c05d9241a219519917 Mon Sep 17 00:00:00 2001 From: maxrcode-source <159390701+maxrcode-source@users.noreply.github.com> Date: Fri, 12 Apr 2024 17:07:58 +0000 Subject: [PATCH 34/60] fix --- .breakpoints | 2 +- .devcontainer/devcontainer.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.breakpoints b/.breakpoints index a04202ac9195..531efbf02715 100644 --- a/.breakpoints +++ b/.breakpoints @@ -1,6 +1,6 @@ { "files": { - "home.py": [ + "streamlit_app.py": [ { "id": "ee89d22e-c5da-4850-bef3-9f1e8fefb11b", "line": 13, diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 1b65619032a5..6522374b4ed9 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -8,7 +8,7 @@ "codespaces": { "openFiles": [ "README.md", - "home.py" + "streamlit_app.py" ] }, "vscode": { From 8198068dfc79dc5ad0693dd009c7b5cd20ad3b29 Mon Sep 17 00:00:00 2001 From: maxrcode-source <159390701+maxrcode-source@users.noreply.github.com> Date: Mon, 15 Apr 2024 09:56:08 -0700 Subject: [PATCH 35/60] Delete shslogo.png --- shslogo.png | Bin 31004 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 shslogo.png diff --git a/shslogo.png b/shslogo.png deleted file mode 100644 index 2f112ba000e634eb60eec5d449dacecc88ff815b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31004 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 Date: Mon, 15 Apr 2024 09:56:24 -0700 Subject: [PATCH 36/60] Delete requirements.txt --- requirements.txt | 4 ---- 1 file changed, 4 deletions(-) delete mode 100644 requirements.txt diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index 426166241b27..000000000000 --- a/requirements.txt +++ /dev/null @@ -1,4 +0,0 @@ -altair -pandas -streamlit -numpy From ed0482e3d19fe5e34413eba358e088e2b68f3a17 Mon Sep 17 00:00:00 2001 From: maxrcode-source <159390701+maxrcode-source@users.noreply.github.com> Date: Mon, 15 Apr 2024 09:56:35 -0700 Subject: [PATCH 37/60] Delete replit.nix --- replit.nix | 5 ----- 1 file changed, 5 deletions(-) delete mode 100644 replit.nix diff --git a/replit.nix b/replit.nix deleted file mode 100644 index d5465fd95494..000000000000 --- a/replit.nix +++ /dev/null @@ -1,5 +0,0 @@ -{pkgs}: { - deps = [ - pkgs.glibcLocales - ]; -} From 2ca83c33c48bca8b4625520978707cb2dfac1dd0 Mon Sep 17 00:00:00 2001 From: maxrcode-source <159390701+maxrcode-source@users.noreply.github.com> Date: Mon, 15 Apr 2024 09:56:45 -0700 Subject: [PATCH 38/60] Delete ncpp.py --- ncpp.py | 148 -------------------------------------------------------- 1 file changed, 148 deletions(-) delete mode 100644 ncpp.py diff --git a/ncpp.py b/ncpp.py deleted file mode 100644 index c2f5587f657b..000000000000 --- a/ncpp.py +++ /dev/null @@ -1,148 +0,0 @@ -import altair as alt -import numpy as np -import pandas as pd -import streamlit as st -import smtplib - -""" -Number Conversion Practice -""" -import random - -st.write("'##::: ##:::::::'######:::::::'########:::::::'########::") -st.write(" ###:: ##::::::'##... ##:::::: ##.... ##:::::: ##.... ##:") -st.write(" ####: ##:::::: ##:::..::::::: ##:::: ##:::::: ##:::: ##:") -st.write(" ## ## ##:::::: ##:::::::::::: ########::::::: ########::") -st.write(" ##. ####:::::: ##:::::::::::: ##.....:::::::: ##.....:::") -st.write(" ##:. ###:'###: ##::: ##:'###: ##::::::::'###: ##::::::::") -st.write(" ##::. ##: ###:. ######:: ###: ##:::::::: ###: ##::::::::") -st.write() -st.write() -st.write("Welcome to the NUMBER CONVERSION PRACTICE PROGRAM.") -st.write("To get started, st.text_input what you like to practice below.") -st.write() - - -numbersystem = ["binary", "hexadecimal", "decimal", "octal"] - -selecting = True - -while selecting: - first = st.text_input("What Number System you'd like to convert? ") - - second = st.text_input("What would you like to convert it to? ") - - if first == "binary" or first == "hexadecimal" or first == "decimal" or first == "octal" or second == "binary" or second == "hexadecimal" or second == "decimal" or second == "octal": - st.write() - st.write() - st.write() - st.write("Okay, let's practice converting", first, "to", second + ".") - st.write("Press 'Run' above if you want to reset the program and pick another number conversion") - break - else: - st.write("Not a valid st.text_input. Try again.") - continue - -a = [] - - -running = True - -while running: - for i in range(999): - a.append(i) - random.shuffle(a) - number = a[0] - - - - if first == "binary": - number = (str(bin(number))[2:]) - st.write("Convert", number, "to", second + ".") - st.write() - st.write() - response = int(st.text_input("Answer: ")) - - - - if second == "octal": - answer = (str(oct(a[0]))[1:]) - if second == "hexadecimal": - answer = (str(hex(a[0]))[2:]) - if second == "decimal": - answer = a[0] - if second == "binary": - answer = (str(bin(a[0]))[2:]) - - - - if first == "decimal": - number = str(number) - st.write("Convert", number, "to", second + ".") - st.write() - st.write() - response = int(st.text_input("Answer: ")) - - - - if second == "octal": - answer = (str(oct(a[0]))[1:]) - if second == "hexadecimal": - answer = (str(hex(a[0]))[2:]) - if second == "decimal": - answer = a[0] - if second == "binary": - answer = (str(bin(a[0]))[2:]) - - - - if first == "hexadecimal": - number = (str(hex(number))[2:]) - st.write("Convert", number, "to", second + ".") - st.write() - st.write() - response = int(st.text_input("Answer: ")) - - - - if second == "octal": - answer = (str(oct(a[0]))[1:]) - if second == "hexadecimal": - answer = (str(hex(a[0]))[2:]) - if second == "decimal": - answer = a[0] - if second == "binary": - answer = (str(bin(a[0]))[2:]) - - - - if first == "octal": - number = (str(oct(number))[1:]) - st.write("Convert", number, "to", second + ".") - st.write() - st.write() - response = int(st.text_input("Answer: ")) - - - - if second == "octal": - answer = (str(oct(a[0]))[1:]) - if second == "hexadecimal": - answer = (str(hex(a[0]))[2:]) - if second == "decimal": - answer = a[0] - if second == "binary": - answer = (str(bin(a[0]))[2:]) - - - - if response == int(answer): - st.write("Correct!") - st.write() - st.write() - else: - st.write("Wrong!") - st.write() - st.write() - - \ No newline at end of file From 4850c2d428a62bb6b15cd63b252135559d193bf0 Mon Sep 17 00:00:00 2001 From: maxrcode-source <159390701+maxrcode-source@users.noreply.github.com> Date: Mon, 15 Apr 2024 09:56:53 -0700 Subject: [PATCH 39/60] Delete home.py --- home.py | 26 -------------------------- 1 file changed, 26 deletions(-) delete mode 100644 home.py diff --git a/home.py b/home.py deleted file mode 100644 index 12ea026561a7..000000000000 --- a/home.py +++ /dev/null @@ -1,26 +0,0 @@ -import altair as alt -import numpy as np -import pandas as pd -import streamlit as st -import smtplib - - -st.title('SHS Computer Science Site') -st.write('This brand new site, coded in Python with hosting/library provided by _Streamlit.io_, is for all things Computer Science within Sahuarita High School, this website will provide resources for things such as the CS TSA Test.') -#st.image('shslogo.png', caption='Sahuarita High School Mustang', width=600) - -st.divider() - -st.header("Here is all of the available practice tests located below.") - -with st.expander("Full TSA Practice Test", expanded=False): - st.page_link("ncpp.py", label="NUMBER CONVERSION PRACTICE PROGRAM") - - - - -st.header("And here, is all of the available resources located below.") - -st.divider() - -st.write("This site is currently under construction, so please be patient with the site. Due to the limitations of the platform of the previous site, I have decided that it would be best to start fresh. I will be adding more features to the site as time goes on. Thank you.") From 37b1dbc8e5717071c2870551e8ea79156078554d Mon Sep 17 00:00:00 2001 From: maxrcode-source <159390701+maxrcode-source@users.noreply.github.com> Date: Mon, 15 Apr 2024 09:57:02 -0700 Subject: [PATCH 40/60] Delete README.md --- README.md | 3 --- 1 file changed, 3 deletions(-) delete mode 100644 README.md diff --git a/README.md b/README.md deleted file mode 100644 index be7d05b80ec5..000000000000 --- a/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# Welcome to my website; **The SHS Computer Science Site.** - -This website is NOT affilated with SUSD in any way, and is actually student made for the Computer Science Program to help educate other students. :suspect: From 4917641165d3eccfcf438c7eeb56c60f96281056 Mon Sep 17 00:00:00 2001 From: maxrcode-source <159390701+maxrcode-source@users.noreply.github.com> Date: Mon, 15 Apr 2024 09:57:11 -0700 Subject: [PATCH 41/60] Delete .replit --- .replit | 14 -------------- 1 file changed, 14 deletions(-) delete mode 100644 .replit diff --git a/.replit b/.replit deleted file mode 100644 index 46a99a328c90..000000000000 --- a/.replit +++ /dev/null @@ -1,14 +0,0 @@ -entrypoint = "main.py" -modules = ["python-3.10:v18-20230807-322e88b"] - -hidden = [".pythonlibs"] - -[nix] -channel = "stable-23_05" - -[unitTest] -language = "python3" - -[deployment] -run = ["python3", "main.py"] -deploymentTarget = "cloudrun" \ No newline at end of file From 047640d8b9b398731d22eb48c4fb04bec3712d0e Mon Sep 17 00:00:00 2001 From: maxrcode-source <159390701+maxrcode-source@users.noreply.github.com> Date: Mon, 15 Apr 2024 09:57:24 -0700 Subject: [PATCH 42/60] Delete .breakpoints --- .breakpoints | 12 ------------ 1 file changed, 12 deletions(-) delete mode 100644 .breakpoints diff --git a/.breakpoints b/.breakpoints deleted file mode 100644 index 531efbf02715..000000000000 --- a/.breakpoints +++ /dev/null @@ -1,12 +0,0 @@ -{ - "files": { - "streamlit_app.py": [ - { - "id": "ee89d22e-c5da-4850-bef3-9f1e8fefb11b", - "line": 13, - "version": 893, - "index": 411 - } - ] - } -} \ No newline at end of file From 76204be69af3dbd81a3bffcab2fbaad6d6bd778c Mon Sep 17 00:00:00 2001 From: maxrcode-source <159390701+maxrcode-source@users.noreply.github.com> Date: Mon, 15 Apr 2024 09:57:33 -0700 Subject: [PATCH 43/60] Delete .devcontainer directory --- .devcontainer/devcontainer.json | 35 --------------------------------- 1 file changed, 35 deletions(-) delete mode 100644 .devcontainer/devcontainer.json diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json deleted file mode 100644 index 6522374b4ed9..000000000000 --- a/.devcontainer/devcontainer.json +++ /dev/null @@ -1,35 +0,0 @@ -// For format details, see https://aka.ms/devcontainer.json. For config options, see the -// README at: https://github.com/devcontainers/templates/tree/main/src/python -{ - "name": "Python 3", - // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile - "image": "mcr.microsoft.com/devcontainers/python:1-3.11-bullseye", - "customizations": { - "codespaces": { - "openFiles": [ - "README.md", - "streamlit_app.py" - ] - }, - "vscode": { - "settings": {}, - "extensions": [ - "ms-python.python", - "ms-python.vscode-pylance" - ] - } - }, - "updateContentCommand": "[ -f packages.txt ] && sudo apt update && sudo apt upgrade && sudo xargs apt install -y Date: Mon, 15 Apr 2024 09:59:27 -0700 Subject: [PATCH 44/60] Add files via upload --- README.md | 0 pages | 0 replit.nix | 0 requirements.txt | 0 shslogo.png | 0 streamlit_app.py | 0 6 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 README.md create mode 100644 pages create mode 100644 replit.nix create mode 100644 requirements.txt create mode 100644 shslogo.png create mode 100644 streamlit_app.py diff --git a/README.md b/README.md new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/pages b/pages new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/replit.nix b/replit.nix new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/shslogo.png b/shslogo.png new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/streamlit_app.py b/streamlit_app.py new file mode 100644 index 000000000000..e69de29bb2d1 From 567eafebb323c0f895fbea1d489b71393e1a0e7c Mon Sep 17 00:00:00 2001 From: maxrcode-source <159390701+maxrcode-source@users.noreply.github.com> Date: Mon, 15 Apr 2024 10:00:00 -0700 Subject: [PATCH 45/60] Add files via upload --- devcontainer.json | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 devcontainer.json diff --git a/devcontainer.json b/devcontainer.json new file mode 100644 index 000000000000..e69de29bb2d1 From 8f81f4f5ffa2ac5b6935edca622eab6dabe0b412 Mon Sep 17 00:00:00 2001 From: maxrcode-source <159390701+maxrcode-source@users.noreply.github.com> Date: Mon, 15 Apr 2024 10:00:43 -0700 Subject: [PATCH 46/60] Delete streamlit_app.py --- streamlit_app.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 streamlit_app.py diff --git a/streamlit_app.py b/streamlit_app.py deleted file mode 100644 index e69de29bb2d1..000000000000 From 0cd244bc2975b886decb94c11f8aeed5c0225390 Mon Sep 17 00:00:00 2001 From: maxrcode-source <159390701+maxrcode-source@users.noreply.github.com> Date: Mon, 15 Apr 2024 10:00:55 -0700 Subject: [PATCH 47/60] Delete shslogo.png --- shslogo.png | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 shslogo.png diff --git a/shslogo.png b/shslogo.png deleted file mode 100644 index e69de29bb2d1..000000000000 From c8965a4a06f60e535a9dfae197199529c61b2601 Mon Sep 17 00:00:00 2001 From: maxrcode-source <159390701+maxrcode-source@users.noreply.github.com> Date: Mon, 15 Apr 2024 10:01:03 -0700 Subject: [PATCH 48/60] Delete requirements.txt --- requirements.txt | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 requirements.txt diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index e69de29bb2d1..000000000000 From 28290bfc92bb498b0a6361a79fd2a803bfe3095d Mon Sep 17 00:00:00 2001 From: maxrcode-source <159390701+maxrcode-source@users.noreply.github.com> Date: Mon, 15 Apr 2024 10:01:11 -0700 Subject: [PATCH 49/60] Delete replit.nix --- replit.nix | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 replit.nix diff --git a/replit.nix b/replit.nix deleted file mode 100644 index e69de29bb2d1..000000000000 From 8e6da0348adf29a8db38c9766d26f08bae0941f7 Mon Sep 17 00:00:00 2001 From: maxrcode-source <159390701+maxrcode-source@users.noreply.github.com> Date: Mon, 15 Apr 2024 10:01:19 -0700 Subject: [PATCH 50/60] Delete pages --- pages | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 pages diff --git a/pages b/pages deleted file mode 100644 index e69de29bb2d1..000000000000 From 4d988df01e1a32be6cfbb6ae58c6473671ad3f8b Mon Sep 17 00:00:00 2001 From: maxrcode-source <159390701+maxrcode-source@users.noreply.github.com> Date: Mon, 15 Apr 2024 10:01:26 -0700 Subject: [PATCH 51/60] Delete devcontainer.json --- devcontainer.json | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 devcontainer.json diff --git a/devcontainer.json b/devcontainer.json deleted file mode 100644 index e69de29bb2d1..000000000000 From deb7104de134f119b3f07e4a36c05b3c057b41c5 Mon Sep 17 00:00:00 2001 From: maxrcode-source <159390701+maxrcode-source@users.noreply.github.com> Date: Mon, 15 Apr 2024 10:01:36 -0700 Subject: [PATCH 52/60] Delete README.md --- README.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 README.md diff --git a/README.md b/README.md deleted file mode 100644 index e69de29bb2d1..000000000000 From 7c8d3ffeb34d44e853c699373e999cc98b94b31f Mon Sep 17 00:00:00 2001 From: maxrcode-source <159390701+maxrcode-source@users.noreply.github.com> Date: Tue, 16 Apr 2024 06:52:06 -0700 Subject: [PATCH 53/60] Added Dev Container Folder --- .devcontainer/devcontainer.json | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 .devcontainer/devcontainer.json diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 000000000000..5cfe5797e089 --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,33 @@ +{ + "name": "Python 3", + // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile + "image": "mcr.microsoft.com/devcontainers/python:1-3.11-bullseye", + "customizations": { + "codespaces": { + "openFiles": [ + "README.md", + "streamlit_app.py" + ] + }, + "vscode": { + "settings": {}, + "extensions": [ + "ms-python.python", + "ms-python.vscode-pylance" + ] + } + }, + "updateContentCommand": "[ -f packages.txt ] && sudo apt update && sudo apt upgrade -y && sudo xargs apt install -y Date: Tue, 16 Apr 2024 07:02:02 -0700 Subject: [PATCH 54/60] Add files via upload --- README.md | 3 + home.py | 26 +++++++++ ncpp.py | 148 +++++++++++++++++++++++++++++++++++++++++++++++ replit.nix | 5 ++ requirements.txt | 4 ++ shslogo.png | Bin 0 -> 31004 bytes 6 files changed, 186 insertions(+) create mode 100644 README.md create mode 100644 home.py create mode 100644 ncpp.py create mode 100644 replit.nix create mode 100644 requirements.txt create mode 100644 shslogo.png diff --git a/README.md b/README.md new file mode 100644 index 000000000000..be7d05b80ec5 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# Welcome to my website; **The SHS Computer Science Site.** + +This website is NOT affilated with SUSD in any way, and is actually student made for the Computer Science Program to help educate other students. :suspect: diff --git a/home.py b/home.py new file mode 100644 index 000000000000..12ea026561a7 --- /dev/null +++ b/home.py @@ -0,0 +1,26 @@ +import altair as alt +import numpy as np +import pandas as pd +import streamlit as st +import smtplib + + +st.title('SHS Computer Science Site') +st.write('This brand new site, coded in Python with hosting/library provided by _Streamlit.io_, is for all things Computer Science within Sahuarita High School, this website will provide resources for things such as the CS TSA Test.') +#st.image('shslogo.png', caption='Sahuarita High School Mustang', width=600) + +st.divider() + +st.header("Here is all of the available practice tests located below.") + +with st.expander("Full TSA Practice Test", expanded=False): + st.page_link("ncpp.py", label="NUMBER CONVERSION PRACTICE PROGRAM") + + + + +st.header("And here, is all of the available resources located below.") + +st.divider() + +st.write("This site is currently under construction, so please be patient with the site. Due to the limitations of the platform of the previous site, I have decided that it would be best to start fresh. I will be adding more features to the site as time goes on. Thank you.") diff --git a/ncpp.py b/ncpp.py new file mode 100644 index 000000000000..c2f5587f657b --- /dev/null +++ b/ncpp.py @@ -0,0 +1,148 @@ +import altair as alt +import numpy as np +import pandas as pd +import streamlit as st +import smtplib + +""" +Number Conversion Practice +""" +import random + +st.write("'##::: ##:::::::'######:::::::'########:::::::'########::") +st.write(" ###:: ##::::::'##... ##:::::: ##.... ##:::::: ##.... ##:") +st.write(" ####: ##:::::: ##:::..::::::: ##:::: ##:::::: ##:::: ##:") +st.write(" ## ## ##:::::: ##:::::::::::: ########::::::: ########::") +st.write(" ##. ####:::::: ##:::::::::::: ##.....:::::::: ##.....:::") +st.write(" ##:. ###:'###: ##::: ##:'###: ##::::::::'###: ##::::::::") +st.write(" ##::. ##: ###:. ######:: ###: ##:::::::: ###: ##::::::::") +st.write() +st.write() +st.write("Welcome to the NUMBER CONVERSION PRACTICE PROGRAM.") +st.write("To get started, st.text_input what you like to practice below.") +st.write() + + +numbersystem = ["binary", "hexadecimal", "decimal", "octal"] + +selecting = True + +while selecting: + first = st.text_input("What Number System you'd like to convert? ") + + second = st.text_input("What would you like to convert it to? ") + + if first == "binary" or first == "hexadecimal" or first == "decimal" or first == "octal" or second == "binary" or second == "hexadecimal" or second == "decimal" or second == "octal": + st.write() + st.write() + st.write() + st.write("Okay, let's practice converting", first, "to", second + ".") + st.write("Press 'Run' above if you want to reset the program and pick another number conversion") + break + else: + st.write("Not a valid st.text_input. Try again.") + continue + +a = [] + + +running = True + +while running: + for i in range(999): + a.append(i) + random.shuffle(a) + number = a[0] + + + + if first == "binary": + number = (str(bin(number))[2:]) + st.write("Convert", number, "to", second + ".") + st.write() + st.write() + response = int(st.text_input("Answer: ")) + + + + if second == "octal": + answer = (str(oct(a[0]))[1:]) + if second == "hexadecimal": + answer = (str(hex(a[0]))[2:]) + if second == "decimal": + answer = a[0] + if second == "binary": + answer = (str(bin(a[0]))[2:]) + + + + if first == "decimal": + number = str(number) + st.write("Convert", number, "to", second + ".") + st.write() + st.write() + response = int(st.text_input("Answer: ")) + + + + if second == "octal": + answer = (str(oct(a[0]))[1:]) + if second == "hexadecimal": + answer = (str(hex(a[0]))[2:]) + if second == "decimal": + answer = a[0] + if second == "binary": + answer = (str(bin(a[0]))[2:]) + + + + if first == "hexadecimal": + number = (str(hex(number))[2:]) + st.write("Convert", number, "to", second + ".") + st.write() + st.write() + response = int(st.text_input("Answer: ")) + + + + if second == "octal": + answer = (str(oct(a[0]))[1:]) + if second == "hexadecimal": + answer = (str(hex(a[0]))[2:]) + if second == "decimal": + answer = a[0] + if second == "binary": + answer = (str(bin(a[0]))[2:]) + + + + if first == "octal": + number = (str(oct(number))[1:]) + st.write("Convert", number, "to", second + ".") + st.write() + st.write() + response = int(st.text_input("Answer: ")) + + + + if second == "octal": + answer = (str(oct(a[0]))[1:]) + if second == "hexadecimal": + answer = (str(hex(a[0]))[2:]) + if second == "decimal": + answer = a[0] + if second == "binary": + answer = (str(bin(a[0]))[2:]) + + + + if response == int(answer): + st.write("Correct!") + st.write() + st.write() + else: + st.write("Wrong!") + st.write() + st.write() + + \ No newline at end of file diff --git a/replit.nix b/replit.nix new file mode 100644 index 000000000000..d5465fd95494 --- /dev/null +++ b/replit.nix @@ -0,0 +1,5 @@ +{pkgs}: { + deps = [ + pkgs.glibcLocales + ]; +} diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 000000000000..426166241b27 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,4 @@ +altair +pandas +streamlit +numpy diff --git a/shslogo.png b/shslogo.png new file mode 100644 index 0000000000000000000000000000000000000000..2f112ba000e634eb60eec5d449dacecc88ff815b GIT binary patch literal 31004 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 Date: Tue, 16 Apr 2024 07:03:26 -0700 Subject: [PATCH 55/60] Delete home.py --- home.py | 26 -------------------------- 1 file changed, 26 deletions(-) delete mode 100644 home.py diff --git a/home.py b/home.py deleted file mode 100644 index 12ea026561a7..000000000000 --- a/home.py +++ /dev/null @@ -1,26 +0,0 @@ -import altair as alt -import numpy as np -import pandas as pd -import streamlit as st -import smtplib - - -st.title('SHS Computer Science Site') -st.write('This brand new site, coded in Python with hosting/library provided by _Streamlit.io_, is for all things Computer Science within Sahuarita High School, this website will provide resources for things such as the CS TSA Test.') -#st.image('shslogo.png', caption='Sahuarita High School Mustang', width=600) - -st.divider() - -st.header("Here is all of the available practice tests located below.") - -with st.expander("Full TSA Practice Test", expanded=False): - st.page_link("ncpp.py", label="NUMBER CONVERSION PRACTICE PROGRAM") - - - - -st.header("And here, is all of the available resources located below.") - -st.divider() - -st.write("This site is currently under construction, so please be patient with the site. Due to the limitations of the platform of the previous site, I have decided that it would be best to start fresh. I will be adding more features to the site as time goes on. Thank you.") From c1344d856ed074309fd5c5e307eeaac644ce4a94 Mon Sep 17 00:00:00 2001 From: maxrcode-source <159390701+maxrcode-source@users.noreply.github.com> Date: Tue, 16 Apr 2024 07:04:18 -0700 Subject: [PATCH 56/60] Add files via upload --- ncpp.py | 94 +++++++++++++++++++++++------------------------- streamlit_app.py | 26 ++++++++++++++ 2 files changed, 71 insertions(+), 49 deletions(-) create mode 100644 streamlit_app.py diff --git a/ncpp.py b/ncpp.py index c2f5587f657b..585e215e15b0 100644 --- a/ncpp.py +++ b/ncpp.py @@ -1,26 +1,20 @@ -import altair as alt -import numpy as np -import pandas as pd -import streamlit as st -import smtplib - """ Number Conversion Practice """ import random -st.write("'##::: ##:::::::'######:::::::'########:::::::'########::") -st.write(" ###:: ##::::::'##... ##:::::: ##.... ##:::::: ##.... ##:") -st.write(" ####: ##:::::: ##:::..::::::: ##:::: ##:::::: ##:::: ##:") -st.write(" ## ## ##:::::: ##:::::::::::: ########::::::: ########::") -st.write(" ##. ####:::::: ##:::::::::::: ##.....:::::::: ##.....:::") -st.write(" ##:. ###:'###: ##::: ##:'###: ##::::::::'###: ##::::::::") -st.write(" ##::. ##: ###:. ######:: ###: ##:::::::: ###: ##::::::::") -st.write() -st.write() -st.write("Welcome to the NUMBER CONVERSION PRACTICE PROGRAM.") -st.write("To get started, st.text_input what you like to practice below.") -st.write() +print("'##::: ##:::::::'######:::::::'########:::::::'########::") +print(" ###:: ##::::::'##... ##:::::: ##.... ##:::::: ##.... ##:") +print(" ####: ##:::::: ##:::..::::::: ##:::: ##:::::: ##:::: ##:") +print(" ## ## ##:::::: ##:::::::::::: ########::::::: ########::") +print(" ##. ####:::::: ##:::::::::::: ##.....:::::::: ##.....:::") +print(" ##:. ###:'###: ##::: ##:'###: ##::::::::'###: ##::::::::") +print(" ##::. ##: ###:. ######:: ###: ##:::::::: ###: ##::::::::") +print() +print() +print("Welcome to the NUMBER CONVERSION PRACTICE PROGRAM.") +print("To get started, input what you like to practice below.") +print() numbersystem = ["binary", "hexadecimal", "decimal", "octal"] @@ -28,19 +22,19 @@ selecting = True while selecting: - first = st.text_input("What Number System you'd like to convert? ") + first = input("What Number System you'd like to convert? ") - second = st.text_input("What would you like to convert it to? ") + second = input("What would you like to convert it to? ") if first == "binary" or first == "hexadecimal" or first == "decimal" or first == "octal" or second == "binary" or second == "hexadecimal" or second == "decimal" or second == "octal": - st.write() - st.write() - st.write() - st.write("Okay, let's practice converting", first, "to", second + ".") - st.write("Press 'Run' above if you want to reset the program and pick another number conversion") + print() + print() + print() + print("Okay, let's practice converting", first, "to", second + ".") + print("Press 'Run' above if you want to reset the program and pick another number conversion") break else: - st.write("Not a valid st.text_input. Try again.") + print("Not a valid input. Try again.") continue a = [] @@ -58,10 +52,10 @@ if first == "binary": number = (str(bin(number))[2:]) - st.write("Convert", number, "to", second + ".") - st.write() - st.write() - response = int(st.text_input("Answer: ")) + print("Convert", number, "to", second + ".") + print() + print() + response = int(input("Answer: ")) @@ -78,10 +72,10 @@ if first == "decimal": number = str(number) - st.write("Convert", number, "to", second + ".") - st.write() - st.write() - response = int(st.text_input("Answer: ")) + print("Convert", number, "to", second + ".") + print() + print() + response = int(input("Answer: ")) @@ -98,10 +92,10 @@ if first == "hexadecimal": number = (str(hex(number))[2:]) - st.write("Convert", number, "to", second + ".") - st.write() - st.write() - response = int(st.text_input("Answer: ")) + print("Convert", number, "to", second + ".") + print() + print() + response = int(input("Answer: ")) @@ -118,10 +112,10 @@ if first == "octal": number = (str(oct(number))[1:]) - st.write("Convert", number, "to", second + ".") - st.write() - st.write() - response = int(st.text_input("Answer: ")) + print("Convert", number, "to", second + ".") + print() + print() + response = int(input("Answer: ")) @@ -137,12 +131,14 @@ if response == int(answer): - st.write("Correct!") - st.write() - st.write() + print("Correct!") + print() + print() else: - st.write("Wrong!") - st.write() - st.write() + print("Wrong!") + print() + print() + - \ No newline at end of file + + \ No newline at end of file diff --git a/streamlit_app.py b/streamlit_app.py new file mode 100644 index 000000000000..603d40e0d3dd --- /dev/null +++ b/streamlit_app.py @@ -0,0 +1,26 @@ +import altair as alt +import numpy as np +import pandas as pd +import streamlit as st +import smtplib + + +st.title('SHS Computer Science Site') +st.write('This brand new site, coded in Python with hosting/library provided by _Streamlit.io_, is for all things Computer Science within Sahuarita High School, this website will provide resources for things such as the CS TSA Test.') +#st.image('shslogo.png', caption='Sahuarita High School Mustang', width=600) + +st.divider() + +st.header("Here is all of the available practice tests located below.") + +with st.expander("Full TSA Practice Test", expanded=False): + st.page_link("pages/nccp.py", label="NUMBER CONVERSION PRACTICE PROGRAM", icon="1️⃣") + + + + +st.header("And here, is all of the available resources located below.") + +st.divider() + +st.write("This site is currently under construction, so please be patient with the site. Due to the limitations of the platform of the previous site, I have decided that it would be best to start fresh. I will be adding more features to the site as time goes on. Thank you.") From 681b5239fc917da9da2978204fe4f597fd4e84fc Mon Sep 17 00:00:00 2001 From: maxrcode-source <159390701+maxrcode-source@users.noreply.github.com> Date: Tue, 16 Apr 2024 07:06:48 -0700 Subject: [PATCH 57/60] Add files via upload --- breakpoints (1).txt | 12 ++++++++++++ replit.txt | 14 ++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 breakpoints (1).txt create mode 100644 replit.txt diff --git a/breakpoints (1).txt b/breakpoints (1).txt new file mode 100644 index 000000000000..531efbf02715 --- /dev/null +++ b/breakpoints (1).txt @@ -0,0 +1,12 @@ +{ + "files": { + "streamlit_app.py": [ + { + "id": "ee89d22e-c5da-4850-bef3-9f1e8fefb11b", + "line": 13, + "version": 893, + "index": 411 + } + ] + } +} \ No newline at end of file diff --git a/replit.txt b/replit.txt new file mode 100644 index 000000000000..46a99a328c90 --- /dev/null +++ b/replit.txt @@ -0,0 +1,14 @@ +entrypoint = "main.py" +modules = ["python-3.10:v18-20230807-322e88b"] + +hidden = [".pythonlibs"] + +[nix] +channel = "stable-23_05" + +[unitTest] +language = "python3" + +[deployment] +run = ["python3", "main.py"] +deploymentTarget = "cloudrun" \ No newline at end of file From 47de7fd3ed5a51d1bef2add2f086735c940459dd Mon Sep 17 00:00:00 2001 From: maxrcode-source <159390701+maxrcode-source@users.noreply.github.com> Date: Tue, 16 Apr 2024 07:07:32 -0700 Subject: [PATCH 58/60] Rename breakpoints (1).txt to .breakpoints --- breakpoints (1).txt => .breakpoints | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename breakpoints (1).txt => .breakpoints (98%) diff --git a/breakpoints (1).txt b/.breakpoints similarity index 98% rename from breakpoints (1).txt rename to .breakpoints index 531efbf02715..d0eb0833baaf 100644 --- a/breakpoints (1).txt +++ b/.breakpoints @@ -9,4 +9,4 @@ } ] } -} \ No newline at end of file +} From 0e741d3556bb242e23e005229463c8a18acc6873 Mon Sep 17 00:00:00 2001 From: maxrcode-source <159390701+maxrcode-source@users.noreply.github.com> Date: Tue, 16 Apr 2024 07:07:49 -0700 Subject: [PATCH 59/60] Rename replit.txt to .replit --- replit.txt => .replit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename replit.txt => .replit (87%) diff --git a/replit.txt b/.replit similarity index 87% rename from replit.txt rename to .replit index 46a99a328c90..40f892399374 100644 --- a/replit.txt +++ b/.replit @@ -11,4 +11,4 @@ language = "python3" [deployment] run = ["python3", "main.py"] -deploymentTarget = "cloudrun" \ No newline at end of file +deploymentTarget = "cloudrun" From a060d0588e69557810e5c0722f8dbc870e1b2b81 Mon Sep 17 00:00:00 2001 From: maxrcode-source <159390701+maxrcode-source@users.noreply.github.com> Date: Tue, 16 Apr 2024 16:53:16 +0000 Subject: [PATCH 60/60] NEW UPDATE!!!!! --- ncpp.py => pages/ncpp.py | 90 ++- pages/tsastudyguiderandom.py | 80 +++ streamlit_app.py | 2 +- studyguide.txt | 1081 ++++++++++++++++++++++++++++++++++ 4 files changed, 1205 insertions(+), 48 deletions(-) rename ncpp.py => pages/ncpp.py (55%) create mode 100644 pages/tsastudyguiderandom.py create mode 100644 studyguide.txt diff --git a/ncpp.py b/pages/ncpp.py similarity index 55% rename from ncpp.py rename to pages/ncpp.py index 585e215e15b0..fac309fbf6c5 100644 --- a/ncpp.py +++ b/pages/ncpp.py @@ -1,20 +1,18 @@ +import altair as alt +import numpy as np +import pandas as pd +import streamlit as st +import smtplib + """ Number Conversion Practice """ import random -print("'##::: ##:::::::'######:::::::'########:::::::'########::") -print(" ###:: ##::::::'##... ##:::::: ##.... ##:::::: ##.... ##:") -print(" ####: ##:::::: ##:::..::::::: ##:::: ##:::::: ##:::: ##:") -print(" ## ## ##:::::: ##:::::::::::: ########::::::: ########::") -print(" ##. ####:::::: ##:::::::::::: ##.....:::::::: ##.....:::") -print(" ##:. ###:'###: ##::: ##:'###: ##::::::::'###: ##::::::::") -print(" ##::. ##: ###:. ######:: ###: ##:::::::: ###: ##::::::::") -print() -print() -print("Welcome to the NUMBER CONVERSION PRACTICE PROGRAM.") -print("To get started, input what you like to practice below.") -print() + +st.write("Welcome to the NUMBER CONVERSION PRACTICE PROGRAM.") +st.write("To get started, input what you like to practice below.") +st.write() numbersystem = ["binary", "hexadecimal", "decimal", "octal"] @@ -22,25 +20,27 @@ selecting = True while selecting: - first = input("What Number System you'd like to convert? ") + first = st.text_input("What Number System you'd like to convert? ", key=1) - second = input("What would you like to convert it to? ") + second = st.text_input("What would you like to convert it to? ", key=2) if first == "binary" or first == "hexadecimal" or first == "decimal" or first == "octal" or second == "binary" or second == "hexadecimal" or second == "decimal" or second == "octal": - print() - print() - print() - print("Okay, let's practice converting", first, "to", second + ".") - print("Press 'Run' above if you want to reset the program and pick another number conversion") + st.write() + st.write() + st.write() + st.write("Okay, let's practice converting", first, "to", second + ".") + st.write("Press 'Run' above if you want to reset the program and pick another number conversion") + running = True break + else: - print("Not a valid input. Try again.") + st.write("Not a valid st.text_input. Try again.") continue a = [] -running = True + while running: for i in range(999): @@ -52,10 +52,10 @@ if first == "binary": number = (str(bin(number))[2:]) - print("Convert", number, "to", second + ".") - print() - print() - response = int(input("Answer: ")) + st.write("Convert", number, "to", second + ".") + st.write() + st.write() + response = int(st.text_input("Answer: "),key=3) @@ -72,10 +72,10 @@ if first == "decimal": number = str(number) - print("Convert", number, "to", second + ".") - print() - print() - response = int(input("Answer: ")) + st.write("Convert", number, "to", second + ".") + st.write() + st.write() + response = int(st.text_input("Answer: "),key=4) @@ -92,10 +92,10 @@ if first == "hexadecimal": number = (str(hex(number))[2:]) - print("Convert", number, "to", second + ".") - print() - print() - response = int(input("Answer: ")) + st.write("Convert", number, "to", second + ".") + st.write() + st.write() + response = int(st.text_input("Answer: "),key=5) @@ -112,10 +112,10 @@ if first == "octal": number = (str(oct(number))[1:]) - print("Convert", number, "to", second + ".") - print() - print() - response = int(input("Answer: ")) + st.write("Convert", number, "to", second + ".") + st.write() + st.write() + response = int(st.text_input("Answer: "),key=6) @@ -131,14 +131,10 @@ if response == int(answer): - print("Correct!") - print() - print() + st.write("Correct!") + st.write() + st.write() else: - print("Wrong!") - print() - print() - - - - \ No newline at end of file + st.write("Wrong!") + st.write() + st.write() \ No newline at end of file diff --git a/pages/tsastudyguiderandom.py b/pages/tsastudyguiderandom.py new file mode 100644 index 000000000000..ec3f174bc9a4 --- /dev/null +++ b/pages/tsastudyguiderandom.py @@ -0,0 +1,80 @@ +import altair as alt +import numpy as np +import pandas as pd +import streamlit as st +import smtplib + +""" +TSA Study Guide +""" +import random + +def split_file_by_bracket(file_path): + + with open(file_path, 'r') as file: + + file_contents = file.read() + + result_list = file_contents.split('[') + + result_list = [item.strip() for item in result_list if item.strip()] + + return result_list + +def split_file_by_bracket2(file_path): + + with open(file_path, 'r') as file: + + file_contents = file.read() + + answer_list = file_contents.split('@') + + answer_list = [item.strip() for item in answer_list if item.strip()] + + return answer_list + + +file_path = 'studyguide.txt' +result = split_file_by_bracket(file_path) +answer = split_file_by_bracket2(file_path) + +counter = 0 + +score = 0 + +order = [] + +for i in range(135): + order.append(i) + +random.shuffle(order) +st.text(order) + +for i in range(len(result)): + + st.text(str(result[order[i]])[3:len(result[order[i]])]) + answer[i] = str(answer[order[i]])[len(answer[order[i]])-1:len(answer[order[i]])] + + #st.text(answer[i]) + + user = st.text_input("Your Answer: ") + + + if user == answer[i]: + st.text("Correct!") + score += 1 + else: + st.text("Wrong!") + + st.text() + st.text() + st.text() + + counter += 1 + if counter == 135: + st.text() + st.text() + st.text() + st.text() + st.text("You reached the end of this Practice Test, your score was: " + str(score) + " out of 135 questions correct.") + break \ No newline at end of file diff --git a/streamlit_app.py b/streamlit_app.py index 603d40e0d3dd..167596ca8fb0 100644 --- a/streamlit_app.py +++ b/streamlit_app.py @@ -14,7 +14,7 @@ st.header("Here is all of the available practice tests located below.") with st.expander("Full TSA Practice Test", expanded=False): - st.page_link("pages/nccp.py", label="NUMBER CONVERSION PRACTICE PROGRAM", icon="1️⃣") + st.page_link("pages/ncpp.py", label="NUMBER CONVERSION PRACTICE PROGRAM", icon="1️⃣") diff --git a/studyguide.txt b/studyguide.txt new file mode 100644 index 000000000000..6910ea242905 --- /dev/null +++ b/studyguide.txt @@ -0,0 +1,1081 @@ +@ +@ +Which of these is NOT true about Big O notation? +1. The letter O is used because the growth rate of a function is also referred to as order of the function. +2. It is used to classify algorithms according to how their running time or space requirements grow as the input size grows. +3. In mathematics, it is commonly used to describe how closely a finite series approximates a given function. +4. A description of a function in terms of big O notation usually provides the most accurate value of the function. +[ +4 +@ +What is a function in computer programming? +1. a mathematical operation in a computer +2. the transfer of data from one component to another in the computer +3. the lowest level machine code in a computer +4. a named set of instructions that can be reused in a program to reduce complexity +[ +4 +@ +Which data structure is used to store a large number of names? +1. character string +2. Boolean +3. integer +4. List +[ +4 +@ +Which data type will you most likely use for performing division (such as y = a / b)? +1. integer +2. Boolean +3. floating point +4. character +[ +3 +@ +Which of these is likely NOT in a programming language's standard function library? +1. myFunc47() +2. print() +3. random() +4. time() +[ +1 +@ +Which of the following is a good reason constant variables defined in programs? +1. some algorithms use fixed values like pi and other parameters +2. some algorithms use character strings to solve problems +3. some algorithms use large numbers and small numbers in calculations +4. some algorithms approximate values in calculations +[ +1 +@ +Why is it important to initialize variables? +1. You want all your variables to start with a value of 0 (zero) so you can add things to them later. +2. You don't want to think about what value each variable needs to start out with. +3. Depending on the machine or compiler you are using, you cannot assume the value a variable contains without initializing it. +4. You need to decide on the type of data you are using but not the initial value. +[ +3 +@ +In programming, what is an expression that evaluates to true or false? + 1. boolean expression + 2. bernoulli distribution + 3. conditional statement + 4. conditional logics +[ +1 +@ +Which of the following is an example of a string? + 5. My Name Is + 6. "My Name Is" + 7. "My""Name""Is" + 8. $My Name Is$ +[ +2 +@ +What terminates a string when writing a program? + 1. boolean expression + 2. semicolon + 3. null character + 4. parenthesis +[ +3 +@ +What is the correct format to concatenate and number and a string in Java? + 1. "your number is" + theNumber + 2. "your number is" + "theNumber" + 3. your number is + theNumber + 4. "your number is theNumber" +[ +1 +@ +What is the value of Str2 in the following code: Var Str1 = "Computer Science"; var str2=Str1.substring(2,13); ? + 1. Str2 = "omputer Scie" + 2. Str2 = "omputer Sci" + 3. Str2 = "mputer Sci" + 4. Str2 = "mputer Scie" +[ +3 +@ +Which of the following is an example of a low-level language? + 1. FORTRAN + 2. C++ + 3. Binary Machine Language + 4. JAVA +[ +3 +@ +What is the purpose of using hexadecimal numbering in computer science? +1. it is a convenient way to express numbers more efficiently than binary or decimal +2. it is easier to do math calculations in hexadecimal +3. hexadecimal is the base number system used in computer hardware +4. because base-6 numbers are easier to use than other bases +[ +1 +@ +What is the largest decimal number an eight-bit byte can represent? +1. 255 +2. 256 +3. 512 +4. 1024 +[ +1 +@ +If A and B are both true, which of these logical statements is true? +1. A and not(B) +2. A and B +3. not (A and B) +4. B and not(A) +[ +2 +@ +If A is true and B is false, which of these logical statements is false? +1. A or B +2. A and B +3. A and not(B) +4. not(B) +[ +2 +@ +What is the hexadecimal number 0xAEF in decimal? +1. 2783 +2. 2798 +3. 2799 +4. 3055 +[ +3 +@ +What is the hexadecimal number 0x001001 in decimal? +1. 9 +2. 512 +3. 4096 +4. 4097 +[ +4 +@ +What is binary 001001 in hexadecimal? +1. 9 +2. 4097 +3. 512 +4. 256 +[ +1 +@ +What is binary 1001001 in hexadecimal? +1. 50 +2. 49 +3. 48 +4. 24 +[ +2 +@ +What is hexadecimal number 0x231A in binary? +1. 0010 0011 0001 1010 +2. 0010 0011 0001 1111 +3. 1010 0011 0001 1010 +4. 0010 1011 1001 1010 +[ +1 +@ +What would the operation 8 modulo 3 (8 % 3) return as a value? +1. 2 +2. 6 +3. 9 +4. 24 +[ +1 +@ +Which of these statements produces the value 5 (five)? +1. (3 - 2 * (4 - 7) + (3 - (3 * 1/3) + 1) +2. (3 - (2 * 4 - 7) + (3 - (3 * (1/3 + 1)) +3. 3 - 2 * 4 - 7 + 3 - 3 * 1/3 + 1 +4. (3 - (2 * 4 - 7) + (3 - (3 * 1/3) + 1) +[ +4 +@ +Which of these statements is used to decrement a variable "countdown"? +1. countdown = countdown – 1 +2. countdown = countdown + 1 +3. countdown = countdown * 1 +4. countdown = countdown – countdown +[ +1 +@ +How many bits would you need if you wanted to have the ability to count up to 1000? + 1. 8 + 2. 10 + 3. 12 + 4. 14 +[ +2 +@ +What is the decimal number 13 as a binary number? + 1. 1011 + 2. 0111 + 3. 0101 + 4. 1101 +[ +4 +@ +How many unique IP addresses could be made using a 6-bit fixed-length address system? + 1. 64 + 2. 256 + 3. 32 + 4. 128 +[ +1 +@ +What is the best explanation for why digital data is represented in binary form? + 1. it's easier, cheaper and more reliable + 2. it's the only system with flexibility to represent data other than numbers + 3. it's typically smaller than other numbering systems + 4. it's impossible to build a computer that doesn't use binary +[ +1 +@ +Which of the following lists numbers in the order from least to greatest? + 1. 010000; 1110; 01010 + 2. 01010; 010000; 1110 + 3. 01010; 1110; 010000 + 4. 1110; 01010; 010000 +[ +3 +@ +What data type is used for fractional numbers? + 1. integer + 2. float + 3. Def + 4. Fract +[ +2 +@ +Which of these sets of values of the variable x will each cause "if (x > 3.2) " to return the Boolean value "false"? + 1. -3.3, 3.3, -1.0, 1.0, 0.0, 0.5, 3.1 + 2. -3.3, 3.0, -1.0, 1.0, 0.0, 0.5, 3.1 + 3. -3.0, 3.0, -1.0, 1.0, 0.0, 0.5, 3.7 + 4. -3.0, 3.0, -10, 10, 0.0, 0.5, 3.1 +[ +2 +@ +Given x = 5, what does "(x > 3 OR x < 10)" evaluate to? + 1. Boolean "true" + 2. Boolean "false" + 3. Integer "0" + 4. Character "yes" +[ +1 +@ +If A is true and B is true, which of these logical statements is false? + 1. A OR B + 2. A AND B + 3. not(A) XOR B + 4. A XOR B +[ +4 +@ +If var age = 22, which of the following will evaluate as TRUE? + 1. (age>20) && (age<25) + 2. (age !=12)&&(age>25) + 3. (age=22)&&(age<18) + 4. (age>20)&&(age!=22) +[ +1 +@ +Which term would you use to perform a product of a maxterm boolean function? + 1. NOT terms + 2. NAND terms + 3. OR terms + 4. AND terms +[ +3 +@ +The following rules are an example of what formal math law on Boolean expressions: not (A or B) = not A and not B; and not(A and B) = not A or not B? + 1. DE Morgan's Law + 2. Moore's Law + 3. Brook's Law + 4. Godwin's Law +[ +1 +@ +Which of the following is another name for indenting? + 1. nesting + 2. contracting + 3. aligning + 4. assigning +[ +1 +@ +What are nesting statements? + 1. a theme that repeats + 2. break up a hard problem into smaller parts + 3. a statement inside another statement + 4. a list of steps used to complete a task +[ +3 +@ +Which of these programming constructs repeats an action for a number (usually fixed) of steps? + 1. a "for" loop + 2. a "while" loop + 3. an "if" conditional + 4. a "print" statement +[ +1 +@ +Which of these programming constructs repeats an action while a condition is true? + 1. a "while" loop + 2. a "for" loop + 3. an "if" conditional + 4. a "print" statement +[ +1 +@ +Given x = 10 when the loop starts, which of these assignment statements inside of a "while" loop (while ( x < 0)) will cause the loop to end? + 1. x = x + 1 + 2. x = 0 + 3. x = 1e100 + 4. x = -1 +[ +4 +@ +I want to write code for a bank that asks a user whether he/she wants to make a withdrawal, make a deposit, or quit. What type of loop would be best to use to ensure the user is able to do as many transactions as they want? + 1. an infinite loop + 2. a for loop + 3. a while loop + 4. a do-while loop +[ +4 +@ +What type of loop is programmed to occur a specific number of times? + 1. for loop + 2. while loop + 3. if statement + 4. do while loop +[ +1 +@ +I want to write code for a bank that asks a user whether he/she wants to make a withdrawal, make a deposit, or quit. What type of loop would be best to use to ensure the user is able to do as many transactions as they want? + 1. an infinite loop + 2. a for loop + 3. a while loop + 4. a do-while loop +[ +4 +@ +What type of loop is programmed to occur a specific number of times? + 1. for loop + 2. while loop + 3. if statement + 4. do while loop +[ +1 +@ +In JavaScript, an array of 10 items would have which of the following indexes? + 1. 0 – 9 + 2. 1 – 9 + 3. 1 – 10 + 4. 0 – 10 +[ +1 +@ +How many lines of output are printed out for: for(int x=0; x<=10; x++) System.out.println(x); ? + 1. 0 + 2. 5 + 3. 10 + 4. 11 +[ +4 +@ +When do you get OUT of this loop: while(x!=1) {//stuff happens}? + 1. when x=1 + 2. never + 3. when x > 1 + 4. when x <> 0 +[ +1 +@ +A while loop is a control flow statement that allows code to be executed repeatedly base on what? + 1. a binary number + 2. a Boolean condition + 3. a string of characters + 4. a given value +[ +2 +@ +Which of the following is an exit condition loop? + 1. while loop + 2. for Loop + 3. if - then – else + 4. do while loop +[ +4 +@ +What is the value of var int var=0; int array⟦4]; for(int j=0; j<=4; j++) { var=var+1;}? + 1. 4 + 2. 5 + 3. 8 + 4. 10 +[ +2 +@ +Which command will stop an infinite loop? + 1. Esc + 2. Shift C + 3. Alt C + 4. Cntrl C +[ +4 +@ +What is a loop that never ends called? + 1. infinite loop + 2. recursive loop + 3. for loop + 4. while loop +[ +1 +@ +Which of these statements is NOT true about hash maps? + 1. It is not an ordered collection + 2. it does not return the keys and values in the same order in which they have been inserted + 3. inputs are ordered by an index value + 4. it does not guarantee any particular order of the map +[ +3 +@ +Which of these is NOT true about the Bubble sort algorithm? + 1. Although the algorithm is simple, it is very fast and ideal for most problems. + 2. It is a simple sorting algorithm that repeatedly steps through the list to be sorted. + 3. It compares each pair of adjacent items and swaps them if they are in the wrong order. + 4. The pass through the list is repeated until no swaps are needed, which indicates that the list is sorted. +[ +1 +@ +Which of these is NOT true of the binary search algorithm? + 1. Input data needs to be sorted. + 2. The number of search operations grows more slowly than the list does, because you're halving the "search space" with each operation. + 3. It accesses data in a list sequentially. + 4. It requires an ordering comparison, not equality comparison. +[ +3 +@ +What numbers will be outputted with the following code; var myArray=⟦5,5,6,7,3,4]; console.log(myArray⟦3]); console.log(myArray⟦5]);? + 1. 3 and 5 + 2. 6 and 3 + 3. 6 and 4 + 4. 7 and 4 +[ +4 +@ +What would be the best data structure for a library if the data is in the form of a title and a number of copies of the title? + 1. Hash map + 2. Static values + 3. ArrayList + 4. Array +[ +1 +@ +Given the following initialized array: int fourth; int⟦]⟦] myArray={{1,2,3},{4,5,6},{7,8,9}}; Using myArray, how can I store in variable "fourth" the number 4? + 1. fourth = myArray⟦2]⟦1]; + 2. fourth = myArray⟦0]⟦1]; + 3. fourth = myArray⟦1]⟦0]; + 4. fourth = myArray⟦1]⟦1]; +[ +3 +@ +Which of these is a disadvantage of using third party libraries? + 1. using libraries often saves development time + 2. code which has already been used by thousands of people will have fewer errors + 3. the code from the library may be untested or unreliable + 4. there are not enough third-party libraries available and many only have a few bits of code in them +[ +3 +@ +What is a software repository? + 1. a storage location from which software packages may be retrieved and installed on a computer + 2. a memory device that is used to offload data from a personal computer + 3. a secure location where a company stores its orginal software copies + 4. a place where software companies keep their money from the sale of software +[ +1 +@ +What does it mean to do a "pull" on a software repository? + 1. diverge from the main line of development and continue to do work without messing with that main line + 2. update your copy of repository with the version on remote server + 3. create a new branch of software, forking the branch you are currently on + 4. put changes you have made on your local branch to a remote repository +[ +2 +@ +When you have finished making changes to your software on your local computer, how do you get it back into the software repository? + 1. you do a pull from the server + 2. you do a branch on the server + 3. you do a push onto the server + 4. you do an add on the server +[ +3 +@ +What does the term "upstream" refer to in software control? + 1. you send software changes "upstream" to the repository so that everyone pulling from the same source is working with all the same changes + 2. you are "upstream" from a server when you are downloading large amounts of data at a high data rate + 3. you are "upstream" whenever you copy (clone, checkout, etc.) from a repository + 4. you send software changes to a coworker "upstream" by giving them a hardware storage version +[ +1 +@ +What is TRUE of version control systems? + 1. stand-alone application + 2. changes identified by a number or letter code + 3. allows users to compare previous versions of a document + 4. critical to track other's edits and correct mistakes +[ +1 +@ +What is the template of an object called? + 1. class + 2. stencil + 3. object template + 4. method +[ +1 +@ +Subclass is what type of hierarchy to the existing class? + 1. disjoint hierarchy + 2. jointless hierarchy + 3. specialization hierarchy + 4. generalization hierarchy +[ +3 +@ +What is the relationship between the class Car and the class TwoDoor in the code snippet shown? class TwoDoor extends Car { } + 1. Car implements TwoDoor + 2. TwoDoor implements Car + 3. TwoDoor is the super class to Car + 4. Car is the super class to TwoDoor +[ +4 +@ +Which of these are NOT a benefit of following a sequential design process? + 1. Time spent early in the software production cycle can reduce costs at later stages. + 2. It places emphasis on documentation, such as requirements documents and design documents, as well as source code. + 3. Clients may not know exactly what their requirements are before they see working software and so change their requirements, leading to redesign. + 4. It provides a structured approach, progresses linearly through discrete, easily understandable and explainable phases and thus is easy to understand. +[ +3 +@ +How can an efficient algorithm design reduce power consumption? + 1. Algorithms that use fewer CPU cycles reduce demand on the processor. + 2. Algorithms that find the answer with the most precision reduce power. + 3. Algorithms that interact with the user more frequently are used more often. + 4. The higher the level of the coding language used, the more efficient the algorithm. +[ +1 +@ +Which of these describes the imperative programming paradigm? + 1. programming by specifying the result you want, not how to get it + 2. programming with an explicit sequence of commands that update state + 3. programming with clean, go to-free, nested control structures + 4. programming with function calls that avoid any global state +[ +2 +@ +Which of these describes the declarative programming paradigm? + 1. programming by specifying the result you want, not how to get it + 2. programming with an explicit sequence of commands that update state + 3. programming with clean, go to-free, nested control structures + 4. programming with function calls that avoid any global state +[ +1 +@ +Which of these describes the structured programming paradigm? + 1. programming by specifying the result you want, not how to get it + 2. programming with an explicit sequence of commands that update state + 3. programming with clean, go to-free, nested control structures + 4. programming with function calls that avoid any global state +[ +3 +@ +Which of these describes the functional programming paradigm? + 1. programming with clean, go to-free, nested control structures + 2. programming by specifying the result you want, not how to get it + 3. programming with an explicit sequence of commands that update state + 4. programming with function calls that avoid any global state +[ +4 +@ +Which of these describes the object-oriented programming paradigm? + 1. programming with clean, go to-free, nested control structures + 2. programming by specifying the result you want, not how to get it + 3. programming by defining objects that send messages to each other + 4. programming with an explicit sequence of commands that update state +[ +3 +@ +Which of these is NOT a feature of a good algorithm? + 1. it gives specific and precise instructions + 2. it uses math + 3. it uses everyday language and jargon + 4. it uses sequential steps +[ +3 +@ +What is a list of subroutine definitions, communication protocols, and tools for building software called? + 1. Dictionary + 2. Application programming interface (API) + 3. Coding Glossary + 4. Technical Guidelines +[ +2 +@ +What is machine code? + 1. any programming language used by a machine + 2. the password a user inputs to a machine to gain access to it + 3. the binary data used as the most basic instructions for the CPU in +[ +3 +@ +Which of these is NOT a feature of a good text editor for coding? + 1. outputs formatted.docx files + 2. easy to use and navigate + 3. syntax highlighting + 4. outputs plain text files +[ +1 +@ +Which of these is NOT a feature of a good text editor for coding? + 1. outputs formatted.docx files + 2. easy to use and navigate + 3. syntax highlighting + 4. outputs plain text files +[ +1 +@ +What is a compiler? + 1. a translator from "high-level" language programs into programs in a lower-level language + 2. a translator from high-level language programs into programs in a different high-level language + 3. a translator from assembly language programs to machine language programs + 4. a translator whose input is a program and some input data; it executes the program using the input data +[ +1 +@ +What is interpreted code? + 1. A code file is translated into machine code before it is executed. This machine code is stored in a separate executable file that can be run later. + 2. Each line of code is translated into the home language of the user, so that commands such as if, for, print, etc. are in the correct language. + 3. Each line of code is translated into machine code (1's and 0's) and executed using any input data given. This process is repeated for each line of code in the program. + 4. Each line of code is reviewed by an engineer for errors. Once the code has been corrected it is referred to as "interpreted." +[ +3 +@ +Which of the following will be created using the following lines of code? var num=5; var str="HOWDY"; var greet = num + str; console.log(greet);? + 1. 5 HOWDY + 2. HOWDY HOWDY HOWDY HOWDY HOWDY + 3. 5HOWDY + 4. type mismatch error +[ +3 +@ +Which of the following JavaScript statements will display the output on two lines? + 1. console.log("Hi!\nMy Name Is"); + 2. console.log("Hi!\newLineMy Name Is"); + 3. console.log("Hi!\moveMy Name Is"); + 4. console.log("Hi!\newMy Name Is"); +[ +1 +@ +What is a programming language model organized around objects rather than actions called? + 1. SOP Language + 2. OOP Language + 3. Binary Machine Model + 4. SaaS +[ +2 +@ +Which of the following is NOT true for comments in Java? + 1. comments are helpful to other users + 2. indent comments to line up with code + 3. write comments after you write and test your program + 4. keep comments relevant +[ +3 +@ +Which of the following is NOT a true statement about functions? + 1. Functions reduce the complexity of programs. + 2. Functions cannot make calls to other functions written by the same programmer. + 3. Functions are reusable programming abstractions. + 4. Functions help break a problem into logical chunks. +[ +2 +@ +The following code performs what task? function turnAround() {turnLeft();turnLeft();}moveForward();moveForward(); + 1. moves turtle forward two spaces + 2. turtle turns left twice and moves forward two spaces + 3. turtle turns left; moves forward 1 space; turns left; moves forward 1 space + 4. nothing the function is never called +[ +1 +@ +What is a parameter? + 1. a collection of commands than can be used in a programming language + 2. another name for the purpose of a function + 3. a way to give input to a function that controls how the function runs + 4. a named memory location +[ +3 +@ +How many parameters does the command "moveTo(x,y)" have? + 1. 0 + 2. 1 + 3. 2 + 4. 3 +[ +3 +@ +Which of these are NOT describing a well-defined test procedure? + 1. use alpha characters or decimal numbers instead of integers as input and note output + 2. use large (>10^6), small (<10^-6), zero, and negative numbers as input when asked for a number and note output + 3. use the program for a long time until it breaks + 4. use integers instead of Booleans as inputs and note output +[ +3 +@ +You are testing code that has an input textbox that accepts a range of numbers from .50 to .60. Which of these answers is the best example of boundary value testing? + 1. use test inputs .51, .59, .61, .62 and .63 + 2. use test inputs 0.0, .50, .60, and 100 + 3. use test inputs -.50, .50, -.60, and .60 + 4. use test inputs .49, .50, .51, .59, .60, and .61 +[ +4 +@ +Which of these BEST describes integration testing? + 1. it helps ensure individual components function as advertised + 2. it helps ensure a fully-built system has no defects from a user's point of view + 3. it helps ensure that the latest fixes and enhancements didn't break something that used to work + 4. it helps ensure components can communicate with each other properly +[ +4 +@ +Which of the following BEST describes unit testing? + 1. it helps ensure individual components function as advertised + 2. it helps ensure components can communicate with each other properly + 3. it helps ensure a fully-built system has no defects from a user's point of view + 4. it helps ensure that the latest fixes and enhancements didn't break something that used to work +[ +1 +@ +What kind of error is the code: " if ( x > b and x < b) { " ? + 1. semantic error + 2. logic error + 3. runtime error + 4. syntax error +[ +2 +@ +Why are logic errors often the hardest type to find and correct? + 1. because they are correct syntax and usually don't generate error messages + 2. because math is the most difficult part of programming and the symbols are often confusing + 3. because computers don't always evaluate logical statements the same every time they are executed + 4. because modern compilers only recognize about 90% of logical errors +[ +1 +@ +You have coded a loop that ends when the position of one object matches the position of another object. Which of these is a likely error in your code? + 1. You have used only floating point to describe the positions objects when they should be integers. + 2. The logic in your loop doesn't use an if statement. + 3. You haven't properly named your position variables in the code. + 4. The condition that the objects positions match is never met - they aren't exactly equal - and the loop never ends. +[ +4 +@ +Which of these describe runtime errors? + 1. These are errors detected while the program executes. These are often discovered when the user enters illegal data. + 2. These are errors made by humans typing in code when they are under pressure to meet a time schedule. + 3. They are errors that occur when the algorithm used doesn't work correctly. + 4. These are errors caused by confusing the use of >, <, & and || +[ +1 +@ +When a programmer types something that does not conform to the rules of the programming language, it results in what kind of error? + 1. syntax + 2. semantic + 3. runtime + 4. Logical +[ +1 +@ +What is a programming application that is constructed starting with a high-level description of what it is supposed to do, and breaking the specification down into simpler and simpler pieces, until a level has been reached? + 1. bottom-up programming + 2. top-down programming + 3. functional programming + 4. modular programming +[ +2 +@ +Which of these is a BEST practice for protecting passwords or personal data? + 1. Keep passwords in desk drawers instead of on top of the desk. + 2. Use strong passwords that are protected and not shared with anyone. + 3. Tell only trusted associates your password. + 4. Use email instead of your phone to send someone your password. +[ +2 +@ +Which of these would most alert you that you may have a possible email threat? + 1. Your bank sends you an email during non-business hours. + 2. You are asked to click on a link and share private information such as account numbers and passwords. + 3. An e-commerce site you use frequently sends you a notice at the end of the year that your credit card is about to expire. + 4. You get an email from your employer while you are at work. +[ +2 +@ +What is the purpose of a firewall on your computer? + 1. to increase the speed of data communication on the internet + 2. to remove viruses from your computer + 3. to block unauthorized systems on the internet from gaining access to your computer and its data + 4. to share data with identified friends and coworkers +[ +3 +@ +How does antivirus software protect the computer? + 1. It identifies malicious code on the computer by scanning the code and then removes or quarantines that piece of code. + 2. It blocks unauthorized systems on the internet from gaining access to your computer and its data. + 3. It erases all of the computer's temporary files that are no longer needed. + 4. It slows down the computer's processor so that viruses can't spread quickly enough. +[ +1 +@ +Which of these describes the Phishing scam? + 1. a situation in which one person or program successfully masquerades as another by falsifying data, thereby gaining an illegitimate advantage + 2. the fraudulent practice of sending emails purporting to be from reputable companies in order to induce individuals to reveal personal information, such as passwords and credit card numbers + 3. the use of electronic messaging systems to send an unsolicited message, especially advertising, as well as sending messages repeatedly on the same site + 4. a perpetrator seeks to make a machine or network resource unavailable to its intended users by temporarily or indefinitely disrupting services of a host connected to the Internet +[ +2 +@ +Which of these describes what spamming is? + 1. the use of electronic messaging systems to send an unsolicited message, especially advertising, as well as sending messages repeatedly on the same site + 2. the fraudulent practice of sending emails purporting to be from reputable companies in order to induce individuals to reveal personal information, such as passwords and credit card numbers + 3. a situation in which one person or program successfully masquerades as another by falsifying data, thereby gaining an illegitimate advantage + 4. a perpetrator seeks to make a machine or network resource unavailable to its intended users by temporarily or indefinitely disrupting services of a host connected to the Internet +[ +1 +@ +Which of the following BEST describes a spoofing attack? + 1. the use of electronic messaging systems to send an unsolicited message, especially advertising, as well as sending messages repeatedly on the same site + 2. the fraudulent practice of sending emails purporting to be from reputable companies in order to induce individuals to reveal personal information, such as passwords and credit card numbers + 3. a situation in which one person or program successfully masquerades as another by falsifying data, thereby gaining an illegitimate advantage + 4. a perpetrator seeks to make a machine or network resource unavailable to its intended users by temporarily or indefinitely disrupting services of a host connected to the Internet +[ +3 +@ +Which of the following BEST describes denial-of-service attack? + 1. a situation in which one person or program successfully masquerades as another by falsifying data, thereby gaining an illegitimate advantage + 2. the use of electronic messaging systems to send an unsolicited message, especially advertising, as well as sending messages repeatedly on the same site + 3. the fraudulent practice of sending emails purporting to be from reputable companies in order to induce individuals to reveal personal information, such as passwords and credit card numbers + 4. a perpetrator seeks to make a machine or network resource unavailable to its intended users by temporarily or indefinitely disrupting services of a host connected to the Internet +[ +4 +@ +What is a cross-site scripting vulnerability? + 1. it enables attackers to inject client-side scripts into web pages viewed by other users + 2. it enables users to write programs longer than 10K lines of code, thus weakening the operating system + 3. it is use of a browser not developed by Microsoft Corporation or Google Inc. + 4. it is the practice of placing computer programmers too close together in the work environment +[ +1 +@ +What is a software license restriction? + 1. It keeps users from accessing the software if they don't pay for it. + 2. It allows users to only copy the software for family members. + 3. It informs users of the software what they are legally allowed to do with it, especially with respect to copying it. + 4. It keeps users from viewing the code the software was written in. +[ +3 +@ +Which of these is a disadvantage of software licensing? + 1. It takes away the freedom of software developers. + 2. It only helps a few big software companies. + 3. It doesn't match the goals of the US constitution. + 4. It limits the number of possible users of the software and makes it more expensive to use. +[ +4 +@ +What is a virus installed on many computers to activate at the same time and flood a target with traffic to the point the server becomes overwhelmed? + 1. phishing + 2. pharming + 3. distributed denial of service attack (Ddos) + 4. override +[ +3 +@ +What is a targeted attack where customized e-mails appear to come from one's organization? + 1. spear phishing + 2. adware + 3. browser hijacking + 4. spyware +[ +1 +@ +What is the name of hackers who have good intentions; but lack permission? + 1. black hat + 2. gray hat + 3. red hat + 4. white hat +[ +2 +@ +Which malware is hard to remove, because it buries itself deep in system software? + 1. ransomware + 2. key logger + 3. rootkit + 4. trojan horse +[ +3 +@ +What is the best method to increase password security? + 1. include capital letters + 2. nonsense words + 3. include symbols $, etc. + 4. longer length +[ +4 +@ +Which of these is the best way to protect your data in your computer system? + 1. have up to date screen savers + 2. only download expensive apps + 3. having up to date virus protection + 4. have a computer that is less than 2 years old +[ +3 +@ +What is the technique for encryption that shifts the alphabet by some number of characters? + 1. random substitution cipher + 2. alphabet cipher + 3. caesar cipher + 4. Vigenère Cipher +[ +3 +@ +What type of encryption uses a public key and a private key? + 1. asymmetric + 2. codebook + 3. cipher + 4. symmetric +[ +1 +@ +SQL Injection is a method of what? + 1. database management + 2. sanitizing output + 3. sanitizing input + 4. modifying data +[ +3 +@ +What is the CIA Triad? + 1. confidentiality, integrity and availability + 2. computation, innovation and aggregation + 3. collaboration, investigation, and assessment + 4. compression, innovation and aggregation +[ +1 +@ +What is the "digital divide"? + 1. the difference between those who have easy access to computers and the Internet, and those who do not + 2. the distance between two computers in different countries + 3. the difference in age of computer users divided in to a young category and an old category + 4. the way that computers do mathematical operations like division +[ +1 +@ +What is the "technological singularity"? + 1. It is the time and place where computers were first invented and there was only a single computer. + 2. It is the idea that technological progress will reach a point where machines are exponentially smarter than humans. + 3. It is the idea that technological progress will reach a point where no more progress can be made and will be singular. + 4. It is the center of a computer where all the CPU's get their power and memory resources. +[ +2 +@ +What is "big data?" + 1. to help a software company defend itself in the case of lawsuits + 2. to allow software employees to keep a record of all of their work done and defend their pay + 3. extremely large data sets that may be analyzed computationally to reveal patterns and trends human behavior and interactions + 4. to allow a software company to sell earlier versions at a lower price to developing countries +[ +3 +@ +Who are the members of the Internet Engineering Task Force (IETF)? + 1. a collection of the leaders of the top internet providers + 2. an international coalition of government agencies + 3. a group of political leaders and heads of state + 4. a loosely organized collection of citizens and engineers +[ +4 +@ +How is data stored on sites using 'cloud computing'? + 1. stored on a giant server + 2. saved to hard drive and syncs with site + 3. saved on home modem + 4. cloud Computing doesn't store data +[ +1 +@ +What is information broken down into chunks before being sent by a computer called? + 1. packages + 2. messages + 3. letters + 4. packets +[ +4 +@ +What is a HTTP? + 1. a protocol used for transmitting web pages over the Internet + 2. a system that translates domain names to IP addresses + 3. a number assigned to any device that is connected to the Internet + 4. an easy-to-remember address for calling a web page +[ +1 +@ +What is 'the cloud'? + 1. a form of word processing + 2. a virtual gaming environment + 3. an accessible network + 4. a type of security software +[ +3 +@ +In cartesian coordinates, x is positive to the right and y is positive up. Which of the following describes typical screen coordinates used in computer images, graphics and animations? + 1. x is positive to the left and y is positive down + 2. x is positive to the right and y is positive left + 3. x is positive to the left and y is positive up + 4. x is positive to the right and y is positive down +[ +4 +@ +What is the purpose of a CPU in a computer? + 1. The CPU is the Central Power Unit and provides all the proper voltages for the components. + 2. The CPU is the Current Pixel Unit and is used for high-end graphics on the computer. + 3. The CPU is the Central Processing Unit and it is where all calculations and data manipulations are done. + 4. The CPU is the Current Person User and determines who is using the computer. +[ +3 +@ +What component invention led to the creation of the personal (home) computer? + 1. transistor + 2. vacuum tube + 3. television + 4. microprocessor +[ +4 +@ +What is Moore's law in computers? + 1. a law that restricts the amount of information that can be transmitted over an internet cable + 2. an observation that the number of transistors in a dense integrated circuit doubles approximately every two years + 3. a rule that says the amount of memory you need will decrease each year by ½ + 4. an observation that the number of users on social media doubles every year +[ +2 +@ +What is voice recognition? + 1. computer algorithms that create human speech from text typed into the computer + 2. computer systems that read books to disabled persons + 3. computer algorithms that receive human speech as input and translate it into data the computer can use + 4. computer systems that respond to loud noises to turn on devices +[ +3 +@ \ No newline at end of file