Re: Archive Copy: High School with Jupyter Notebooks (Silicon Forest)

Wes Turner <[email protected]> Wed, 6 Jul 2022 18:47:34 -0400
Newsgroups gmane.comp.python.education
Message-ID <CACfEFw-zCpB3N3jUXLH-h_F9U=o9RFapG-UFs-wqEZUCje-Raw@mail.gmail.com>
--===============3542682536659058516==
Content-Type: multipart/alternative; boundary="00000000000002ade205e32ac2f9"

--00000000000002ade205e32ac2f9
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

```bash
WEB=3Dpython -m webbrowser

# Install mambaforge (which includes CPython, conda, and mamba) for your
CPU/OS:
$WEB https://github.com/conda-forge/miniforge#mambaforge

# Install the tools
mamba install -y jupyterlab povray
#conda install -c conda-forge -y jupyterlab povray # pyglfw
conda env export --from-history -f environment.yml
cat environment.yml


$WEB
https://github.com/conda-forge/povray-feedstock/blob/main/recipe/meta.yaml
$WEB
https://github.com/conda-forge/jupyterlab-feedstock/blob/main/recipe/meta.y=
aml

```

## p5 js
- src: https://github.com/processing/p5.js/

- https://github.com/jupyterlite/p5-kernel
  - the p5.js kernel for jupyter lite has no load time due to: p5 is not
WASM

- https://p5js.org/examples/3d-geometries.html
- https://p5js.org/examples/3d-sine-cosine-in-3d.html


## p5 python
- src: https://github.com/p5py/p5
-  https://p5.readthedocs.io/en/latest/install.html#prerequisites-glfw
  - https://github.com/conda-forge/glfw-feedstock/blob/main/recipe/meta.yam=
l
  -
https://github.com/conda-forge/pyglfw-feedstock/blob/main/recipe/meta.yaml
- https://p5.readthedocs.io/en/latest/examples/index.html#d #3D

### p5 python, VS Code + jupyter notebooks
- https://p5.readthedocs.io/en/latest/guides/vscode.html # vscode
  - https://github.com/microsoft/vscode-jupyter#notebook-support
    - YMMV with GL in vscode (or code-server in ml-workspace) or it may
just work?
      - p5 has input controls



## sympy geometry module
https://docs.sympy.org/latest/modules/geometry/index.html#three-dimensions-=
and-beyond
:

> ### Three Dimensions and Beyond =C2=B6
> Currently a limited subset of the geometry module has been extended to
three dimensions, but it certainly would be a good addition to extend more.
This would probably involve a fair amount of work since many of the
algorithms used are specific to two dimensions

- https://github.com/pygae/galgebra#geometric-algebra
- https://github.com/sympy/sympy/blob/master/sympy/geometry/__init__.py

On Tue, Jul 5, 2022, 10:33 PM kirby urner <[email protected]> wrote:

>
>
> ---------- Forwarded message ---------
> From: Sunshine Elite Education <[email protected]>
> Date: Tue, Jul 5, 2022 at 6:47 PM
> Subject: Python III: Python Programming and Data Structure for High Schoo=
l
> : July 5: after class
> To: <[email protected]>
> Cc: <[email protected]>
>
>
>
> Greetings students --
>
> This is in followup to our first meetup, which just ended.
>
> I'll often make some notes in followup, to remind you of what we've
> covered and to provide some bookmarks for your web browser.
>
> The tools I focused on:
>
> Jupyter Notebook -- used with languages such as Julia, Python and R
> Jupyter Lab -- for working with Notebooks
> POV-Ray -- Persistence of Vision Ray Tracer
> Python  -- the language itself, by Guido van Rossum, the Dutchman
>
> Some Python types and math concepts we previewed (we'll be coming back to
> all this stuff, I was just trying to give examples of high school math
> topics we'll be looking at):
>
> * sets <https://realpython.com/python-sets/>:  no duplicates, no left to
> right order (we looked at some Emoji as elements)
> * number bases (other than 10) -- more next time
> * Pascal's Triangl e <http://4dsolutions.net/ocn/numeracy0.html>
> * number sequences:  figurate (e.g. triangular) and polyhedral (e.g.
> tetrahedral)
> https://oeis.org/A000217 (tetrahedral -- found in Pascal's Triangle)
> https://oeis.org/A005901 (cuboctahedral)
>
>
>
>
>
>
> * "Mod" type: numbers that add and multiply "modulo" something
>   (5 mod 12) x (5 mod 12) =3D 25 mod 12 =3D 1 mod 12) -- wasn't that much=
 a
> high school topic years ago but then along came cryptography as an everyd=
ay
> feature of the internet
> * "Rat" type:  rational numbers i.e. fractions (1/2 + 1/3 =3D 5/6)
> * Polynomials (I didn't say much about them)
> * Plotting (meaning "graphs" -- another form of visual output, much easie=
r
> to get than with POV-Ray).
>
> The Mod and Rat types demonstrate Python's use of "special names" which
> look like __this__ i.e. two underlines on either side of some word.  I ca=
ll
> them __ribs__ because they look a bit like snake ribs
> <https://www.google.com/search?q=3Dsnake+ribs&source=3Dlnms&tbm=3Disch>. =
That's
> a "mnemonic device" (a way to help you remember).
>
>
> For the most part I scrolled through this Jupyter Notebook top to bottom:
>
> https://github.com/4dsolutions/elite_school/blob/master/ADS_highschool_ma=
th.ipynb
>
> =3D =3D =3D
>
> Where to get JupyterLab etc?
> https://www.anaconda.com/products/distribution
>
> Where to get POV-Ray:
> http://www.povray.org/download/ (Windows)
> http://megapov.inetart.net/download.html#Mac (Mac and Linux)
>
> You may need to get some help with installation, especially if you want
> POV-Ray on Mac or Linux.
>
> Do you know some techies?
>
> My email address is [email protected]
>
> I'll be talking in more detail about installation issues on Friday.
>
> We'll also be looking at using Notebooks in the cloud (e.g. through
> colab.research.google.com).
>
> But eventually I hope you'll be comfortable using JupyterLab as a working
> local environment (with POV-Ray an optional nice-to-have).  JupyterLab
> includes access to both Notebooks and Python, as well as to a Terminal
> (console) window.
>
>
>
> Kirby
>
>
> *Course Name*: Python III: Python Programming and Data Structure for High
> School
> *Datetime*: 07/05-08/26 Tuesday,Friday 4:30pm-6:00pm
> *Location*: Online13
>
> Thanks,
> Sunshine Elite Education
> ------------------------------------------------
> Tel: (503)915-2956
> Address: 15320 NW Central Dr. Ste D6, Portland, OR 97229
> Web: www.SunshineEliteEducation.com
> _______________________________________________
> Edu-sig mailing list -- [email protected]
> To unsubscribe send an email to [email protected]
> https://mail.python.org/mailman3/lists/edu-sig.python.org/
> Member address: [email protected]
>

--00000000000002ade205e32ac2f9
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"auto"><div dir=3D"auto"><br></div><div dir=3D"auto"><br></div><=
div dir=3D"auto">```bash</div><div dir=3D"auto">WEB=3Dpython -m webbrowser<=
/div><div dir=3D"auto"><br></div><div dir=3D"auto"># Install mambaforge (wh=
ich includes CPython, conda, and mamba) for your CPU/OS:</div><div dir=3D"a=
uto">$WEB <a href=3D"https://github.com/conda-forge/miniforge#mambaforge">h=
ttps://github.com/conda-forge/miniforge#mambaforge</a></div><div dir=3D"aut=
o"><br></div><div dir=3D"auto"># Install the tools</div><div dir=3D"auto">m=
amba install -y jupyterlab povray</div><div dir=3D"auto">#conda install -c =
conda-forge -y jupyterlab povray # pyglfw</div><div dir=3D"auto">conda env =
export --from-history -f environment.yml</div><div dir=3D"auto">cat environ=
ment.yml</div><div dir=3D"auto"><br></div><div dir=3D"auto"><br></div><div =
dir=3D"auto">$WEB <a href=3D"https://github.com/conda-forge/povray-feedstoc=
k/blob/main/recipe/meta.yaml">https://github.com/conda-forge/povray-feedsto=
ck/blob/main/recipe/meta.yaml</a></div><div dir=3D"auto">$WEB <a href=3D"ht=
tps://github.com/conda-forge/jupyterlab-feedstock/blob/main/recipe/meta.yam=
l">https://github.com/conda-forge/jupyterlab-feedstock/blob/main/recipe/met=
a.yaml</a></div><div dir=3D"auto"><br></div><div dir=3D"auto">```</div><div=
 dir=3D"auto"><br></div><div dir=3D"auto">## p5 js</div><div dir=3D"auto">-=
 src: <a href=3D"https://github.com/processing/p5.js/">https://github.com/p=
rocessing/p5.js/</a></div><div dir=3D"auto"><br></div><div dir=3D"auto">- <=
a href=3D"https://github.com/jupyterlite/p5-kernel">https://github.com/jupy=
terlite/p5-kernel</a></div><div dir=3D"auto">=C2=A0 - the p5.js kernel for =
jupyter lite has no load time due to: p5 is not WASM=C2=A0</div><div dir=3D=
"auto"><br></div><div dir=3D"auto">- <a href=3D"https://p5js.org/examples/3=
d-geometries.html">https://p5js.org/examples/3d-geometries.html</a></div><d=
iv dir=3D"auto">- <a href=3D"https://p5js.org/examples/3d-sine-cosine-in-3d=
.html">https://p5js.org/examples/3d-sine-cosine-in-3d.html</a></div><div di=
r=3D"auto"><br></div><div dir=3D"auto"><br></div><div dir=3D"auto">## p5 py=
thon</div><div dir=3D"auto">- src: <a href=3D"https://github.com/p5py/p5">h=
ttps://github.com/p5py/p5</a></div><div dir=3D"auto">-=C2=A0 <a href=3D"htt=
ps://p5.readthedocs.io/en/latest/install.html#prerequisites-glfw">https://p=
5.readthedocs.io/en/latest/install.html#prerequisites-glfw</a></div><div di=
r=3D"auto">=C2=A0 - <a href=3D"https://github.com/conda-forge/glfw-feedstoc=
k/blob/main/recipe/meta.yaml">https://github.com/conda-forge/glfw-feedstock=
/blob/main/recipe/meta.yaml</a></div><div dir=3D"auto">=C2=A0 - <a href=3D"=
https://github.com/conda-forge/pyglfw-feedstock/blob/main/recipe/meta.yaml"=
>https://github.com/conda-forge/pyglfw-feedstock/blob/main/recipe/meta.yaml=
</a></div><div dir=3D"auto">- <a href=3D"https://p5.readthedocs.io/en/lates=
t/examples/index.html#d">https://p5.readthedocs.io/en/latest/examples/index=
.html#d</a> #3D</div><div dir=3D"auto"><br></div><div dir=3D"auto">### p5 p=
ython, VS Code + jupyter notebooks</div><div dir=3D"auto">- <a href=3D"http=
s://p5.readthedocs.io/en/latest/guides/vscode.html">https://p5.readthedocs.=
io/en/latest/guides/vscode.html</a> # vscode</div><div dir=3D"auto">=C2=A0 =
- <a href=3D"https://github.com/microsoft/vscode-jupyter#notebook-support">=
https://github.com/microsoft/vscode-jupyter#notebook-support</a></div><div =
dir=3D"auto">=C2=A0 =C2=A0 - YMMV with GL in vscode (or code-server in ml-w=
orkspace) or it may just work?</div><div dir=3D"auto">=C2=A0 =C2=A0 =C2=A0 =
- p5 has input controls</div><div dir=3D"auto"><br></div><div dir=3D"auto">=
<br></div><div dir=3D"auto"><br></div><div dir=3D"auto">## sympy geometry m=
odule</div><div dir=3D"auto"><a href=3D"https://docs.sympy.org/latest/modul=
es/geometry/index.html#three-dimensions-and-beyond">https://docs.sympy.org/=
latest/modules/geometry/index.html#three-dimensions-and-beyond</a> :</div><=
div dir=3D"auto"><br></div><div dir=3D"auto">&gt; ### Three Dimensions and =
Beyond =C2=B6</div><div dir=3D"auto">&gt; Currently a limited subset of the=
 geometry module has been extended to three dimensions, but it certainly wo=
uld be a good addition to extend more. This would probably involve a fair a=
mount of work since many of the algorithms used are specific to two dimensi=
ons</div><div dir=3D"auto"><br></div><div dir=3D"auto">- <a href=3D"https:/=
/github.com/pygae/galgebra#geometric-algebra">https://github.com/pygae/galg=
ebra#geometric-algebra</a></div><div dir=3D"auto">- <a href=3D"https://gith=
ub.com/sympy/sympy/blob/master/sympy/geometry/__init__.py">https://github.c=
om/sympy/sympy/blob/master/sympy/geometry/__init__.py</a></div></div><br><d=
iv class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Tue, Jul =
5, 2022, 10:33 PM kirby urner &lt;<a href=3D"mailto:[email protected]">=
[email protected]</a>&gt; wrote:<br></div><blockquote class=3D"gmail_qu=
ote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex=
"><div dir=3D"ltr"><div class=3D"gmail_default" style=3D"font-family:arial,=
helvetica,sans-serif;font-size:small"><br></div><br><div class=3D"gmail_quo=
te"><div dir=3D"ltr" class=3D"gmail_attr">---------- Forwarded message ----=
-----<br>From: <b class=3D"gmail_sendername" dir=3D"auto">Sunshine Elite Ed=
ucation</b> <span dir=3D"auto">&lt;<a href=3D"mailto:info@sunshineeliteeduc=
ation.com" target=3D"_blank" rel=3D"noreferrer">info@sunshineeliteeducation=
.com</a>&gt;</span><br>Date: Tue, Jul 5, 2022 at 6:47 PM<br>Subject: Python=
 III: Python Programming and Data Structure for High School : July 5: after=
 class<br>To:  &lt;<a href=3D"mailto:[email protected]" target=3D"_blan=
k" rel=3D"noreferrer">[email protected]</a>&gt;<br>Cc:  &lt;<a href=3D"=
mailto:[email protected]" target=3D"_blank" rel=3D"noreferrer=
">[email protected]</a>&gt;<br></div><br><br><p><br>Greetings=
 students --<br><br>This is in followup to our first meetup, which just end=
ed.=C2=A0 <br><br>I&#39;ll often make some notes in followup, to remind you=
 of what we&#39;ve covered and to provide some bookmarks for your web brows=
er.<br><br>The tools I focused on:<br><br>Jupyter Notebook -- used with lan=
guages such as Julia, Python and R<br>Jupyter Lab -- for working with Noteb=
ooks<br>POV-Ray -- Persistence of Vision Ray Tracer<br>Python=C2=A0 -- the =
language itself, by Guido van Rossum, the Dutchman<br><br>Some Python types=
 and math concepts we previewed (we&#39;ll be coming back to all this stuff=
, I was just trying to give examples of high school math topics we&#39;ll b=
e looking at):<br><br>* <a href=3D"https://realpython.com/python-sets/" tar=
get=3D"_blank" rel=3D"noreferrer">sets</a>:=C2=A0 no duplicates, no left to=
 right order (we looked at some Emoji as elements)<br>* number bases (other=
 than 10) -- more next time<br>* <a href=3D"http://4dsolutions.net/ocn/nume=
racy0.html" target=3D"_blank" rel=3D"noreferrer">Pascal&#39;s Triangl
 e</a><br>* number sequences:=C2=A0 figurate (e.g. triangular) and polyhedr=
al (e.g. tetrahedral)<br><a href=3D"https://oeis.org/A000217" target=3D"_bl=
ank" rel=3D"noreferrer">https://oeis.org/A000217</a> (tetrahedral -- found =
in Pascal&#39;s Triangle)<br><a href=3D"https://oeis.org/A005901" target=3D=
"_blank" rel=3D"noreferrer">https://oeis.org/A005901</a> (cuboctahedral)</p=
>
<p>=C2=A0</p>
<p><br><img src=3D"https://www.sunshineeliteeducation.com/file/ClassPage/20=
22-07-06-cubanim.gif" alt=3D"" width=3D"225" height=3D"210"><br><br>* &quot=
;Mod&quot; type: numbers that add and multiply &quot;modulo&quot; something=
 <br>=C2=A0 (5 mod 12) x (5 mod 12) =3D 25 mod 12 =3D 1 mod 12) -- wasn&#39=
;t that much a high school topic years ago but then along came cryptography=
 as an everyday feature of the internet<br>* &quot;Rat&quot; type:=C2=A0 ra=
tional numbers i.e. fractions (1/2 + 1/3 =3D 5/6)<br>* Polynomials (I didn&=
#39;t say much about them)<br>* Plotting (meaning &quot;graphs&quot; -- ano=
ther form of visual output, much easier to get than with POV-Ray).</p>
<p>The Mod and Rat types demonstrate Python&#39;s use of &quot;special name=
s&quot; which look like __this__ i.e. two underlines on either side of some=
 word.=C2=A0 I call them __ribs__ because they look a bit like <a href=3D"h=
ttps://www.google.com/search?q=3Dsnake+ribs&amp;source=3Dlnms&amp;tbm=3Disc=
h" target=3D"_blank" rel=3D"noreferrer">snake ribs</a>. That&#39;s a &quot;=
mnemonic device&quot; (a way to help you remember).</p>
<p><br>For the most part I scrolled through this Jupyter Notebook top to bo=
ttom:<br><a href=3D"https://github.com/4dsolutions/elite_school/blob/master=
/ADS_highschool_math.ipynb" target=3D"_blank" rel=3D"noreferrer">https://gi=
thub.com/4dsolutions/elite_school/blob/master/ADS_highschool_math.ipynb</a>=
<br><br>=3D =3D =3D<br><br>Where to get JupyterLab etc?<br><a href=3D"https=
://www.anaconda.com/products/distribution" target=3D"_blank" rel=3D"norefer=
rer">https://www.anaconda.com/products/distribution</a><br><br>Where to get=
 POV-Ray:<br><a href=3D"http://www.povray.org/download/" target=3D"_blank" =
rel=3D"noreferrer">http://www.povray.org/download/</a> (Windows)<br><a href=
=3D"http://megapov.inetart.net/download.html#Mac" target=3D"_blank" rel=3D"=
noreferrer">http://megapov.inetart.net/download.html#Mac</a> (Mac and Linux=
)<br><br>You may need to get some help with installation, especially if you=
 want POV-Ray on Mac or Linux.=C2=A0</p>
<p>Do you know some techies?</p>
<p>My email address is <a href=3D"mailto:[email protected]" target=3D"_=
blank" rel=3D"noreferrer">[email protected]</a><br><br>I&#39;ll be talk=
ing in more detail about installation issues on Friday.=C2=A0</p>
<p>We&#39;ll also be looking at using Notebooks in the cloud (e.g. through =
<a href=3D"http://colab.research.google.com" target=3D"_blank" rel=3D"noref=
errer">colab.research.google.com</a>).=C2=A0</p>
<p>But eventually I hope you&#39;ll be comfortable using JupyterLab as a wo=
rking local environment (with POV-Ray an optional nice-to-have).=C2=A0 Jupy=
terLab includes access to both Notebooks and Python, as well as to a Termin=
al (console) window.</p>
<p><br><br>Kirby<br><br><br><b>Course Name</b>: Python III: Python Programm=
ing and Data Structure for High School <br><b>Datetime</b>: 07/05-08/26 Tue=
sday,Friday 4:30pm-6:00pm<br><b>Location</b>: Online13<br><br> Thanks,<br> =
Sunshine Elite Education <br> ---------------------------------------------=
---<br> Tel: (503)915-2956 <br> Address: 15320 NW Central Dr. Ste D6, Portl=
and, OR 97229<br> Web: <a rel=3D"noreferrer">www.SunshineEliteEducation.com=
</a></p>
</div></div>
_______________________________________________<br>
Edu-sig mailing list -- <a href=3D"mailto:[email protected]" target=3D"_bl=
ank" rel=3D"noreferrer">[email protected]</a><br>
To unsubscribe send an email to <a href=3D"mailto:[email protected]"=
 target=3D"_blank" rel=3D"noreferrer">[email protected]</a><br>
<a href=3D"https://mail.python.org/mailman3/lists/edu-sig.python.org/" rel=
=3D"noreferrer noreferrer" target=3D"_blank">https://mail.python.org/mailma=
n3/lists/edu-sig.python.org/</a><br>
Member address: <a href=3D"mailto:[email protected]" target=3D"_blank" r=
el=3D"noreferrer">[email protected]</a><br>
</blockquote></div>

--00000000000002ade205e32ac2f9--

--===============3542682536659058516==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Edu-sig mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/edu-sig.python.org/
Member address: [email protected]

--===============3542682536659058516==--