From 890355980d13178295322274ad6a3fa4cc4e160f Mon Sep 17 00:00:00 2001
From: PeerHerholz
Date: Sun, 2 Jun 2024 16:22:47 -0500
Subject: [PATCH 01/33] add environment.yml
---
environment.yml | 263 ++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 263 insertions(+)
create mode 100644 environment.yml
diff --git a/environment.yml b/environment.yml
new file mode 100644
index 0000000..fc1cc81
--- /dev/null
+++ b/environment.yml
@@ -0,0 +1,263 @@
+name: course_name
+channels:
+ - conda-forge
+ - defaults
+dependencies:
+ - bzip2=1.0.8
+ - ca-certificates
+ - libffi=3.4.2
+ - libsqlite=3.40.0
+ - libzlib=1.2.13
+ - ncurses=6.3
+ - openssl=3.0.7
+ - pip=22.3.1
+ - python=3.10.6
+ - readline=8.1.2
+ - setuptools=65.5.1
+ - tk=8.6.12
+ - wheel=0.38.4
+ - xz=5.2.6
+ - pip:
+ - absl-py==2.1.0
+ - accessible-pygments==0.0.4
+ - alabaster==0.7.16
+ - anyio==4.2.0
+ - appnope==0.1.3
+ - arabic-reshaper==3.0.0
+ - argon2-cffi==23.1.0
+ - argon2-cffi-bindings==21.2.0
+ - arrow==1.3.0
+ - asttokens==2.4.1
+ - astunparse==1.6.3
+ - async-lru==2.0.4
+ - attrs==23.2.0
+ - babel==2.14.0
+ - beautifulsoup4==4.12.3
+ - bleach==6.1.0
+ - blosc2==2.5.1
+ - cachetools==5.3.2
+ - certifi==2023.11.17
+ - cffi==1.16.0
+ - charset-normalizer==3.3.2
+ - click==8.1.7
+ - comm==0.2.1
+ - contourpy==1.2.0
+ - cryptography==42.0.2
+ - cycler==0.12.1
+ - debugpy==1.8.0
+ - decorator==5.1.1
+ - defusedxml==0.7.1
+ - docutils==0.18.1
+ - dukpy==0.3.0
+ - elementpath==4.1.5
+ - esprima==4.0.1
+ - et-xmlfile==1.1.0
+ - exceptiongroup==1.2.0
+ - executing==2.0.1
+ - fastjsonschema==2.19.1
+ - ffpyplayer==4.5.1
+ - flatbuffers==23.5.26
+ - fonttools==4.47.2
+ - fqdn==1.5.1
+ - freetype-py==2.4.0
+ - future==0.18.3
+ - gast==0.5.4
+ - gevent==23.9.1
+ - gitdb==4.0.11
+ - gitpython==3.1.41
+ - google-auth==2.27.0
+ - google-auth-oauthlib==1.2.0
+ - google-pasta==0.2.0
+ - greenlet==3.0.3
+ - grpcio==1.60.1
+ - h5py==3.10.0
+ - html2text==2020.1.16
+ - idna==3.6
+ - imageio==2.33.1
+ - imageio-ffmpeg==0.4.9
+ - imagesize==1.4.1
+ - importlib-metadata==7.0.1
+ - ipykernel==6.29.0
+ - ipython==8.20.0
+ - ipywidgets==8.1.1
+ - isoduration==20.11.0
+ - javascripthon==0.12
+ - jedi==0.19.1
+ - jinja2==3.1.3
+ - joblib==1.3.2
+ - json-tricks==3.17.3
+ - json5==0.9.14
+ - jsonpointer==2.4
+ - jsonschema==4.21.1
+ - jsonschema-specifications==2023.12.1
+ - jupyter==1.0.0
+ - jupyter-book==0.15.1
+ - jupyter-cache==0.6.1
+ - jupyter-client==8.6.0
+ - jupyter-console==6.6.3
+ - jupyter-core==5.7.1
+ - jupyter-events==0.9.0
+ - jupyter-lsp==2.2.2
+ - jupyter-server==2.12.5
+ - jupyter-server-terminals==0.5.1
+ - jupyterlab==4.0.11
+ - jupyterlab-pygments==0.3.0
+ - jupyterlab-server==2.25.2
+ - jupyterlab-widgets==3.0.9
+ - keras==2.15.0
+ - kiwisolver==1.4.5
+ - latexcodec==2.0.1
+ - lazy-loader==0.3
+ - libclang==16.0.6
+ - linkify-it-py==2.0.2
+ - lxml==5.1.0
+ - markdown==3.5.2
+ - markdown-it-py==2.2.0
+ - markupsafe==2.1.4
+ - matplotlib==3.8.2
+ - matplotlib-inline==0.1.6
+ - mdit-py-plugins==0.3.5
+ - mdurl==0.1.2
+ - mistune==3.0.2
+ - ml-dtypes==0.2.0
+ - mne==1.6.1
+ - mne-bids==0.14
+ - msgpack==1.0.7
+ - msgpack-numpy==0.4.8
+ - myst-nb==0.17.2
+ - myst-parser==0.18.1
+ - nbclient==0.7.4
+ - nbconvert==7.14.2
+ - nbformat==5.9.2
+ - ndindex==1.7
+ - nest-asyncio==1.6.0
+ - nibabel==5.2.0
+ - nilearn==0.10.3
+ - notebook==7.0.7
+ - notebook-shim==0.2.3
+ - numexpr==2.9.0
+ - numpy==1.26.3
+ - oauthlib==3.2.2
+ - opencv-python==4.9.0.80
+ - openpyxl==3.1.2
+ - opt-einsum==3.3.0
+ - overrides==7.6.0
+ - packaging==23.2
+ - pandas==2.2.0
+ - pandas-flavor==0.6.0
+ - pandocfilters==1.5.1
+ - parso==0.8.3
+ - patsy==0.5.6
+ - pexpect==4.9.0
+ - pillow==10.2.0
+ - pingouin==0.5.4
+ - platformdirs==4.1.0
+ - plotly==5.18.0
+ - pooch==1.8.0
+ - prometheus-client==0.19.0
+ - prompt-toolkit==3.0.43
+ - protobuf==4.23.4
+ - psutil==5.9.8
+ - psychopy==2023.2.3
+ - psychtoolbox==3.0.19.0
+ - ptitprince==0.2.7
+ - ptyprocess==0.7.0
+ - pure-eval==0.2.2
+ - py-cpuinfo==9.0.0
+ - pyasn1==0.5.1
+ - pyasn1-modules==0.3.0
+ - pybtex==0.24.0
+ - pybtex-docutils==1.0.3
+ - pycparser==2.21
+ - pydata-sphinx-theme==0.15.2
+ - pyglet==1.5.27
+ - pygments==2.17.2
+ - pyparsing==3.1.1
+ - pypi-search==2.0
+ - pyserial==3.5
+ - python-bidi==0.4.2
+ - python-dateutil==2.8.2
+ - python-gitlab==4.4.0
+ - python-json-logger==2.0.7
+ - python-vlc==3.0.20123
+ - pytz==2023.3.post1
+ - pyyaml==6.0.1
+ - pyzmq==25.1.2
+ - qtconsole==5.5.1
+ - qtpy==2.4.1
+ - questplus==2023.1
+ - referencing==0.32.1
+ - requests==2.31.0
+ - requests-oauthlib==1.3.1
+ - requests-toolbelt==1.0.0
+ - rfc3339-validator==0.1.4
+ - rfc3986-validator==0.1.1
+ - rpds-py==0.17.1
+ - rsa==4.9
+ - scikit-learn==1.4.0
+ - scipy==1.12.0
+ - seaborn==0.11.0
+ - send2trash==1.8.2
+ - six==1.16.0
+ - smmap==5.0.1
+ - sniffio==1.3.0
+ - snowballstemmer==2.2.0
+ - soundfile==0.12.1
+ - soupsieve==2.5
+ - sphinx==5.0.2
+ - sphinx-book-theme==1.0.1
+ - sphinx-comments==0.0.3
+ - sphinx-copybutton==0.5.2
+ - sphinx-design==0.3.0
+ - sphinx-external-toc==0.3.1
+ - sphinx-jupyterbook-latex==0.5.2
+ - sphinx-multitoc-numbering==0.1.3
+ - sphinx-thebe==0.2.1
+ - sphinx-togglebutton==0.3.2
+ - sphinxcontrib-applehelp==1.0.8
+ - sphinxcontrib-bibtex==2.5.0
+ - sphinxcontrib-devhelp==1.0.6
+ - sphinxcontrib-htmlhelp==2.0.5
+ - sphinxcontrib-jsmath==1.0.1
+ - sphinxcontrib-qthelp==1.0.7
+ - sphinxcontrib-serializinghtml==1.1.10
+ - sqlalchemy==2.0.25
+ - stack-data==0.6.3
+ - statsmodels==0.14.1
+ - tables==3.9.2
+ - tabulate==0.9.0
+ - tenacity==8.2.3
+ - tensorboard==2.15.1
+ - tensorboard-data-server==0.7.2
+ - tensorflow==2.15.0
+ - tensorflow-estimator==2.15.0
+ - tensorflow-io-gcs-filesystem==0.35.0
+ - termcolor==2.4.0
+ - terminado==0.18.0
+ - threadpoolctl==3.2.0
+ - tinycss2==1.2.1
+ - tomli==2.0.1
+ - tornado==6.4
+ - tqdm==4.66.1
+ - traitlets==5.14.1
+ - types-python-dateutil==2.8.19.20240106
+ - typing-extensions==4.9.0
+ - tzdata==2023.4
+ - uc-micro-py==1.0.2
+ - ujson==5.9.0
+ - uri-template==1.3.0
+ - urllib3==2.1.0
+ - wcwidth==0.2.13
+ - webcolors==1.13
+ - webencodings==0.5.1
+ - websocket-client==1.7.0
+ - websockets==12.0
+ - werkzeug==3.0.1
+ - widgetsnbextension==4.0.9
+ - wrapt==1.14.1
+ - wxpython==4.2.1
+ - xarray==2024.1.1
+ - xmlschema==3.0.1
+ - zipp==3.17.0
+ - zope-event==5.0
+ - zope-interface==6.1
\ No newline at end of file
From a9534d20e6e93681640b3562c43987c7c3b517e8 Mon Sep 17 00:00:00 2001
From: PeerHerholz
Date: Sun, 2 Jun 2024 16:22:54 -0500
Subject: [PATCH 02/33] add README
---
README.md | 24 ++++++++++++++++++++++--
1 file changed, 22 insertions(+), 2 deletions(-)
diff --git a/README.md b/README.md
index cb50cc1..bf14fb5 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,22 @@
-# course_template
-The SPARK course template.
+![logo](lecture/static/course_name_logo.png)
+
+# The SPARK course template
+
+[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/spark-csd/mybinder_course_name/HEAD)
+[![GitHub size](https://github-size-badge.herokuapp.com/spark-csd/course_name.svg)](https://github.com/spark-csd/course_name/archive/master.zip)
+[![Docker Hub](https://img.shields.io/docker/pulls/spark-csd/course_name)](https://hub.docker.com/r/spark-csd/course_name)
+[![License](https://img.shields.io/github/license/spark-csd/course_name)](https://github.com/spark-csd/course_name)
+
+
+## "What's in this repository?"
+
+This repository contains the template for `SPARK` courses at Northwestern University.
+
+Through this template, we hope to streamline the creation, management, sustainability and distribution of courses conducted as part of `SPARK`. All courses created through this template are intended to either work as quarter-long courses or 3-5 day workshops.
+
+Members of `SPARK` or anyone interested can use this template to create new courses. We created another repository to outline how this template can be used.
+
+
+## "I have some questions..."
+
+[Open an issue](https://github.com/spark-csd/course_template/issues) on this repository and someone will try and get back to you as soon as possible!
From af4f4cfc533d04161eb2a3bad2dd4bdafdbdb417 Mon Sep 17 00:00:00 2001
From: PeerHerholz
Date: Sun, 2 Jun 2024 16:22:58 -0500
Subject: [PATCH 03/33] add LICENSE
---
LICENSE | 19 ++++++++++---------
1 file changed, 10 insertions(+), 9 deletions(-)
diff --git a/LICENSE b/LICENSE
index 7389077..9c12504 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,20 +1,21 @@
BSD 3-Clause License
-Copyright (c) 2024, SPARK - CSD @ Northwestern
+Copyright (c) 2024, SPARK
+All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
-1. Redistributions of source code must retain the above copyright notice, this
- list of conditions and the following disclaimer.
+* Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation
- and/or other materials provided with the distribution.
+* Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
-3. Neither the name of the copyright holder nor the names of its
- contributors may be used to endorse or promote products derived from
- this software without specific prior written permission.
+* Neither the name of the copyright holder nor the names of its
+ contributors may be used to endorse or promote products derived from
+ this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
From 4649a88309da06b1c4eff926841d2023a74e9666 Mon Sep 17 00:00:00 2001
From: PeerHerholz
Date: Sun, 2 Jun 2024 16:23:07 -0500
Subject: [PATCH 04/33] add runtime.txt
---
runtime.txt | 1 +
1 file changed, 1 insertion(+)
create mode 100644 runtime.txt
diff --git a/runtime.txt b/runtime.txt
new file mode 100644
index 0000000..30291cb
--- /dev/null
+++ b/runtime.txt
@@ -0,0 +1 @@
+3.10.0
From 9ccf92f2c3122dbde7aa3f0685fd1ef22bf1fb78 Mon Sep 17 00:00:00 2001
From: PeerHerholz
Date: Sun, 2 Jun 2024 16:23:17 -0500
Subject: [PATCH 05/33] add requirements.txt
---
requirements.txt | 134 +++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 134 insertions(+)
create mode 100644 requirements.txt
diff --git a/requirements.txt b/requirements.txt
new file mode 100644
index 0000000..4ffadd0
--- /dev/null
+++ b/requirements.txt
@@ -0,0 +1,134 @@
+alabaster==0.7.12
+anyio @ file:///home/conda/feedstock_root/build_artifacts/anyio_1666191106763/work/dist
+appnope @ file:///home/conda/feedstock_root/build_artifacts/appnope_1649077682618/work
+argon2-cffi @ file:///home/conda/feedstock_root/build_artifacts/argon2-cffi_1640817743617/work
+argon2-cffi-bindings @ file:///Users/runner/miniforge3/conda-bld/argon2-cffi-bindings_1666850774529/work
+asttokens @ file:///home/conda/feedstock_root/build_artifacts/asttokens_1667325728359/work
+attrs @ file:///home/conda/feedstock_root/build_artifacts/attrs_1640799537051/work
+Babel @ file:///home/conda/feedstock_root/build_artifacts/babel_1667688356751/work
+backcall @ file:///home/conda/feedstock_root/build_artifacts/backcall_1592338393461/work
+backports.functools-lru-cache @ file:///home/conda/feedstock_root/build_artifacts/backports.functools_lru_cache_1618230623929/work
+beautifulsoup4 @ file:///home/conda/feedstock_root/build_artifacts/beautifulsoup4_1649463573192/work
+bleach @ file:///home/conda/feedstock_root/build_artifacts/bleach_1656355450470/work
+brotlipy @ file:///Users/runner/miniforge3/conda-bld/brotlipy_1666764961872/work
+certifi==2022.9.24
+cffi @ file:///Users/runner/miniforge3/conda-bld/cffi_1666754777420/work
+charset-normalizer @ file:///home/conda/feedstock_root/build_artifacts/charset-normalizer_1661170624537/work
+click @ file:///home/conda/feedstock_root/build_artifacts/click_1666798198223/work
+click-completion @ file:///Users/runner/miniforge3/conda-bld/click-completion_1667051105771/work
+click-log @ file:///home/conda/feedstock_root/build_artifacts/click-log_1661327951104/work
+colorama @ file:///home/conda/feedstock_root/build_artifacts/colorama_1666700638685/work
+cryptography @ file:///Users/runner/miniforge3/conda-bld/cryptography_1667422904319/work
+dataclasses @ file:///home/conda/feedstock_root/build_artifacts/dataclasses_1628958434797/work
+debugpy @ file:///Users/runner/miniforge3/conda-bld/debugpy_1666826339389/work
+decorator @ file:///home/conda/feedstock_root/build_artifacts/decorator_1641555617451/work
+defusedxml @ file:///home/conda/feedstock_root/build_artifacts/defusedxml_1615232257335/work
+docutils @ file:///Users/runner/miniforge3/conda-bld/docutils_1666769524130/work
+entrypoints @ file:///home/conda/feedstock_root/build_artifacts/entrypoints_1643888246732/work
+executing @ file:///home/conda/feedstock_root/build_artifacts/executing_1667317341051/work
+fastjsonschema @ file:///home/conda/feedstock_root/build_artifacts/python-fastjsonschema_1663619548554/work/dist
+flit_core @ file:///home/conda/feedstock_root/build_artifacts/flit-core_1667734568827/work/source/flit_core
+gitdb @ file:///home/conda/feedstock_root/build_artifacts/gitdb_1635085722655/work
+GitPython @ file:///home/conda/feedstock_root/build_artifacts/gitpython_1665480281556/work
+greenlet @ file:///Users/runner/miniforge3/conda-bld/greenlet_1667836798276/work
+idna @ file:///home/conda/feedstock_root/build_artifacts/idna_1663625384323/work
+imagesize @ file:///home/conda/feedstock_root/build_artifacts/imagesize_1656939531508/work
+importlib-metadata @ file:///home/conda/feedstock_root/build_artifacts/importlib-metadata_1666781969417/work
+importlib-resources @ file:///home/conda/feedstock_root/build_artifacts/importlib_resources_1665204935269/work
+ipykernel @ file:///Users/runner/miniforge3/conda-bld/ipykernel_1668027175059/work
+ipython @ file:///Users/runner/miniforge3/conda-bld/ipython_1667140746261/work
+ipython-genutils==0.2.0
+ipywidgets @ file:///home/conda/feedstock_root/build_artifacts/ipywidgets_1660929733321/work
+jedi @ file:///home/conda/feedstock_root/build_artifacts/jedi_1659959867326/work
+Jinja2 @ file:///home/conda/feedstock_root/build_artifacts/jinja2_1654302431367/work
+jsonschema @ file:///home/conda/feedstock_root/build_artifacts/jsonschema_1614815863336/work
+jupyter-book @ file:///home/conda/feedstock_root/build_artifacts/jupyter-book_1661135783206/work
+jupyter-cache @ file:///home/conda/feedstock_root/build_artifacts/jupyter-cache_1627649914322/work
+jupyter-server @ file:///home/conda/feedstock_root/build_artifacts/jupyter_server_1668451283216/work
+jupyter-server-mathjax @ file:///home/conda/feedstock_root/build_artifacts/jupyter-server-mathjax_1657838296256/work
+jupyter-sphinx @ file:///home/conda/feedstock_root/build_artifacts/jupyter-sphinx_1632399870905/work
+jupyter_client @ file:///home/conda/feedstock_root/build_artifacts/jupyter_client_1668623095912/work
+jupyter_core @ file:///Users/runner/miniforge3/conda-bld/jupyter_core_1668031176234/work
+jupyterlab-pygments @ file:///home/conda/feedstock_root/build_artifacts/jupyterlab_pygments_1649936611996/work
+jupyterlab-widgets @ file:///home/conda/feedstock_root/build_artifacts/jupyterlab_widgets_1655961217661/work
+latexcodec @ file:///home/conda/feedstock_root/build_artifacts/latexcodec_1592937263153/work
+linkify-it-py @ file:///home/conda/feedstock_root/build_artifacts/linkify-it-py_1640143539436/work
+lxml @ file:///Users/runner/miniforge3/conda-bld/lxml_1666905324937/work
+markdown-it-py @ file:///home/conda/feedstock_root/build_artifacts/markdown-it-py_1620659057741/work
+MarkupSafe @ file:///Users/runner/miniforge3/conda-bld/markupsafe_1666770248905/work
+matplotlib-inline @ file:///home/conda/feedstock_root/build_artifacts/matplotlib-inline_1660814786464/work
+mdit-py-plugins @ file:///home/conda/feedstock_root/build_artifacts/mdit-py-plugins_1620111679903/work
+mistune @ file:///Users/runner/miniforge3/conda-bld/mistune_1635844814827/work
+myst-nb @ file:///home/conda/feedstock_root/build_artifacts/myst-nb_1650240034222/work
+myst-parser @ file:///home/conda/feedstock_root/build_artifacts/myst-parser_1630686031735/work
+nbclassic @ file:///home/conda/feedstock_root/build_artifacts/nbclassic_1667492839781/work
+nbclient @ file:///home/conda/feedstock_root/build_artifacts/nbclient_1646999386773/work
+nbconvert @ file:///home/conda/feedstock_root/build_artifacts/nbconvert-meta_1660222578365/work
+nbdime @ file:///home/conda/feedstock_root/build_artifacts/nbdime_1635269257164/work
+nbformat @ file:///home/conda/feedstock_root/build_artifacts/nbformat_1665426034066/work
+nest-asyncio @ file:///home/conda/feedstock_root/build_artifacts/nest-asyncio_1664684991461/work
+notebook @ file:///home/conda/feedstock_root/build_artifacts/notebook_1667565639349/work
+notebook_shim @ file:///home/conda/feedstock_root/build_artifacts/notebook-shim_1667478401171/work
+packaging @ file:///home/conda/feedstock_root/build_artifacts/packaging_1637239678211/work
+pandocfilters @ file:///home/conda/feedstock_root/build_artifacts/pandocfilters_1631603243851/work
+parso @ file:///home/conda/feedstock_root/build_artifacts/parso_1638334955874/work
+pexpect @ file:///home/conda/feedstock_root/build_artifacts/pexpect_1667297516076/work
+pickleshare @ file:///home/conda/feedstock_root/build_artifacts/pickleshare_1602536217715/work
+platformdirs @ file:///home/conda/feedstock_root/build_artifacts/platformdirs_1657729053205/work
+prometheus-client @ file:///home/conda/feedstock_root/build_artifacts/prometheus_client_1665692535292/work
+prompt-toolkit @ file:///home/conda/feedstock_root/build_artifacts/prompt-toolkit_1667565496306/work
+psutil @ file:///Users/runner/miniforge3/conda-bld/psutil_1667886039749/work
+ptyprocess @ file:///home/conda/feedstock_root/build_artifacts/ptyprocess_1609419310487/work/dist/ptyprocess-0.7.0-py2.py3-none-any.whl
+pure-eval @ file:///home/conda/feedstock_root/build_artifacts/pure_eval_1642875951954/work
+pybtex @ file:///home/conda/feedstock_root/build_artifacts/pybtex_1638467081712/work
+pybtex-docutils @ file:///Users/runner/miniforge3/conda-bld/pybtex-docutils_1667030314494/work
+pycparser @ file:///home/conda/feedstock_root/build_artifacts/pycparser_1636257122734/work
+pydata-sphinx-theme==0.8.1
+Pygments @ file:///home/conda/feedstock_root/build_artifacts/pygments_1660666458521/work
+pyOpenSSL @ file:///home/conda/feedstock_root/build_artifacts/pyopenssl_1665350324128/work
+pyparsing @ file:///home/conda/feedstock_root/build_artifacts/pyparsing_1652235407899/work
+pyrsistent @ file:///Users/runner/miniforge3/conda-bld/pyrsistent_1667498737269/work
+PySocks @ file:///home/conda/feedstock_root/build_artifacts/pysocks_1661604839144/work
+python-dateutil @ file:///home/conda/feedstock_root/build_artifacts/python-dateutil_1626286286081/work
+pytz @ file:///home/conda/feedstock_root/build_artifacts/pytz_1667391478166/work
+PyYAML @ file:///Users/runner/miniforge3/conda-bld/pyyaml_1666772684107/work
+pyzmq @ file:///Users/runner/miniforge3/conda-bld/pyzmq_1666828711931/work
+requests @ file:///home/conda/feedstock_root/build_artifacts/requests_1661872987712/work
+Send2Trash @ file:///home/conda/feedstock_root/build_artifacts/send2trash_1628511208346/work
+shellingham @ file:///home/conda/feedstock_root/build_artifacts/shellingham_1659638615822/work
+six @ file:///home/conda/feedstock_root/build_artifacts/six_1620240208055/work
+smmap @ file:///home/conda/feedstock_root/build_artifacts/smmap_1611376390914/work
+sniffio @ file:///home/conda/feedstock_root/build_artifacts/sniffio_1662051266223/work
+snowballstemmer @ file:///home/conda/feedstock_root/build_artifacts/snowballstemmer_1637143057757/work
+soupsieve @ file:///home/conda/feedstock_root/build_artifacts/soupsieve_1658207591808/work
+Sphinx @ file:///home/conda/feedstock_root/build_artifacts/sphinx_1648404928645/work
+sphinx-book-theme==0.3.3
+sphinx-comments @ file:///home/conda/feedstock_root/build_artifacts/sphinx-comments_1598555952140/work
+sphinx-copybutton @ file:///home/conda/feedstock_root/build_artifacts/sphinx-copybutton_1644147394672/work
+sphinx-external-toc @ file:///home/conda/feedstock_root/build_artifacts/sphinx-external-toc_1651770588408/work
+sphinx-jupyterbook-latex @ file:///home/conda/feedstock_root/build_artifacts/sphinx-jupyterbook-latex_1663761073933/work
+sphinx-multitoc-numbering @ file:///home/conda/feedstock_root/build_artifacts/sphinx-multitoc-numbering_1615945821575/work
+sphinx-thebe @ file:///home/conda/feedstock_root/build_artifacts/sphinx-thebe_1651288635093/work
+sphinx-togglebutton @ file:///home/conda/feedstock_root/build_artifacts/sphinx-togglebutton_1664390183601/work
+sphinx_design @ file:///home/conda/feedstock_root/build_artifacts/sphinx-design_1650527944719/work
+sphinxcontrib-applehelp==1.0.2
+sphinxcontrib-bibtex @ file:///home/conda/feedstock_root/build_artifacts/sphinxcontrib-bibtex_1661629118308/work
+sphinxcontrib-devhelp==1.0.2
+sphinxcontrib-htmlhelp @ file:///home/conda/feedstock_root/build_artifacts/sphinxcontrib-htmlhelp_1621704829796/work
+sphinxcontrib-jsmath==1.0.1
+sphinxcontrib-qthelp==1.0.3
+sphinxcontrib-serializinghtml @ file:///home/conda/feedstock_root/build_artifacts/sphinxcontrib-serializinghtml_1649380998999/work
+SQLAlchemy @ file:///Users/runner/miniforge3/conda-bld/sqlalchemy_1668277502874/work
+stack-data @ file:///home/conda/feedstock_root/build_artifacts/stack_data_1668260892666/work
+terminado @ file:///Users/runner/miniforge3/conda-bld/terminado_1666707848606/work
+tinycss2 @ file:///home/conda/feedstock_root/build_artifacts/tinycss2_1666100256010/work
+tornado @ file:///Users/runner/miniforge3/conda-bld/tornado_1666788663535/work
+traitlets @ file:///home/conda/feedstock_root/build_artifacts/traitlets_1666115969632/work
+typing_extensions @ file:///home/conda/feedstock_root/build_artifacts/typing_extensions_1665144421445/work
+uc-micro-py @ file:///home/conda/feedstock_root/build_artifacts/uc-micro-py_1608058642472/work
+urllib3 @ file:///home/conda/feedstock_root/build_artifacts/urllib3_1658789158161/work
+wcwidth @ file:///home/conda/feedstock_root/build_artifacts/wcwidth_1600965781394/work
+webencodings==0.5.1
+websocket-client @ file:///home/conda/feedstock_root/build_artifacts/websocket-client_1667568040382/work
+widgetsnbextension @ file:///home/conda/feedstock_root/build_artifacts/widgetsnbextension_1655939017940/work
+zipp @ file:///home/conda/feedstock_root/build_artifacts/zipp_1666647772197/work
From 32a801ec87234c2a4a8a8800e0b6d88b596ab36c Mon Sep 17 00:00:00 2001
From: PeerHerholz
Date: Sun, 2 Jun 2024 16:23:28 -0500
Subject: [PATCH 06/33] add installation check script
---
check_install.sh | 118 +++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 118 insertions(+)
create mode 100644 check_install.sh
diff --git a/check_install.sh b/check_install.sh
new file mode 100644
index 0000000..5b75ea9
--- /dev/null
+++ b/check_install.sh
@@ -0,0 +1,118 @@
+#!/usr/bin/env bash
+
+# Script to run after following all install instructions to make sure that
+# everything was installed correctly!
+#
+# Usage:
+#
+# $ bash check_install.sh
+#
+# The script will try and print out any missing programs to the screen with
+# brief instructions on how to install them. If everything is installed
+# correctly you will see a message printed to screen notifying you of this.
+#
+
+missing=
+
+function check_installed() {
+ func=${1}
+ hash ${func} 2> /dev/null || {
+ printf "Missing software program: ${func}. "
+ printf "Check installation instructions\n"
+ missing=true
+ }
+}
+
+function get_os() {
+ UNAME=$( $( command -v uname) -a | tr '[:upper:]' '[:lower:]' )
+
+ if echo "${UNAME}" | grep -q "microsoft"; then
+ printf "windows\n"
+ elif echo "${UNAME}" | grep -q "darwin"; then
+ printf "darwin\n"
+ elif echo "${UNAME}" | grep -q "linux"; then
+ printf "linux\n"
+ else
+ printf "unknown\n"
+ fi
+}
+
+
+curr_os=$( get_os )
+
+# expected VSCode extensions
+extensions=(
+ ms-azuretools.vscode-docker
+ ms-python.python
+ ms-vsliveshare.vsliveshare
+ ms-vsliveshare.vsliveshare-audio
+ ms-vsliveshare.vsliveshare-pack
+)
+if [ "${curr_os}" == "windows" ]; then
+ extensions+=(ms-vscode-remote.remote-wsl)
+fi
+
+# expected importable python package
+packages=(
+ flake8
+ IPython
+ jupyter
+ jupyterlab
+ matplotlib
+ nibabel
+ nilearn
+ numpy
+ pandas
+ scipy
+ seaborn
+)
+
+# check basic installations
+check_installed git
+check_installed conda
+check_installed python
+check_installed code
+check_installed docker
+
+# check vscode extensions
+
+if [ "${curr_os}" == "windows" ]; then
+ cmd.exe /c "code --list-extensions" > /tmp/vscode_ext 2> /dev/null
+ vscode_ext=$( cat /tmp/vscode_ext )
+else
+ vscode_ext=$( code --list-extensions )
+fi
+for ext in ${extensions[@]}; do
+ if [[ $vscode_ext != *${ext}* ]]; then
+ ext=$( echo "${ext}" | tr '[:upper:]' '[:lower:]' )
+ printf "Missing VSCode extension: "
+ printf "install with $ code --install-extension ${ext}\n"
+ missing=true
+ fi
+done
+
+# check python packages
+for package in ${packages[@]}; do
+ python -c "import ${package}" 2> /dev/null || {
+ package=$( echo "${package}" | tr '[:upper:]' '[:lower:]' )
+ printf "Missing Python package: "
+ printf "install with $ conda install ${package}\n"
+ missing=true
+ }
+done
+
+# congratulations, you did it!
+if [ -z ${missing} ]; then
+ if [ "${curr_os}" != "windows" ]; then
+ python -c 'print("\U0001f389" * 3, end=" ")'
+ fi
+ printf "Everything seems to be installed correctly! "
+ if [ "${curr_os}" != "windows" ]; then
+ python -c 'print("\U0001f389" * 3)'
+ else
+ printf "\n"
+ fi
+ printf "Congratulations, you're all ready for the course!\n"
+fi
+
+exit 0
\ No newline at end of file
From 4bc9714c2c53a3798a0666bda00d36d522447ffa Mon Sep 17 00:00:00 2001
From: PeerHerholz
Date: Sun, 2 Jun 2024 16:24:30 -0500
Subject: [PATCH 07/33] add _config.yml
---
course/_config.yml | 118 +++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 118 insertions(+)
create mode 100644 course/_config.yml
diff --git a/course/_config.yml b/course/_config.yml
new file mode 100644
index 0000000..9cfa827
--- /dev/null
+++ b/course/_config.yml
@@ -0,0 +1,118 @@
+#######################################################################################
+# A default configuration that will be loaded for all jupyter books
+# Users are expected to override these values in their own `_config.yml` file.
+# This is also the "master list" of all allowed keys and values.
+
+#######################################################################################
+# Book settings
+title : course_name # The title of the book. Will be placed in the left navbar.
+author : author_name # The author of the book
+copyright : "copyright_year" # Copyright year to be placed in the footer
+logo : "static/course_graphics/course_name_logo.png" # A path to the book logo
+exclude_patterns : [] # Patterns to skip when building the book. Can be glob-style (e.g. "*skip.ipynb")
+
+#######################################################################################
+# Execution settings
+execute:
+ execute_notebooks : off # Whether to execute notebooks at build time. Must be one of ("auto", "force", "cache", "off")
+ cache : "" # A path to the jupyter cache that will be used to store execution artifacs. Defaults to `_build/.jupyter_cache/`
+ exclude_patterns : [] # A list of patterns to *skip* in execution (e.g. a notebook that takes a really long time)
+
+#######################################################################################
+# HTML-specific settings
+html:
+ favicon : "" # A path to a favicon image
+ use_edit_page_button : True # Whether to add an "edit this page" button to pages. If `true`, repository information in repository: must be filled in
+ use_repository_button : True # Whether to add a link to your repository button
+ use_issues_button : True # Whether to add an "open an issue" button
+ use_sidebar : true
+ extra_navbar : Powered by Jupyter Book # Will be displayed underneath the left navbar.
+ extra_footer : "" # Will be displayed underneath the footer.
+ google_analytics_id : "" # A GA id that can be used to track book views.
+ home_page_in_navbar : true # Whether to include your home page in the left Navigation Bar
+ baseurl : "" # The base URL where your book will be hosted. Used for creating image previews and social links. e.g.: https://mypage.com/mybook/
+ comments:
+ hypothesis: true
+
+#######################################################################################
+# Launch button settings
+launch_buttons:
+ notebook_interface : "classic" # The interface interactive links will activate ["classic", "jupyterlab"]
+ binderhub_url : "https://mybinder.org" # The URL of the BinderHub (e.g., https://mybinder.org)
+ thebe : false # Add a thebe button to pages (requires the repository to run on Binder)
+
+repository:
+ url : https://github.com/spark-csd/course_name # The URL to your book's repository
+ path_to_book : "course" # A path to your book's folder, relative to the repository root.
+ branch : main # Which branch of the repository should be used when creating links
+
+#######################################################################################
+# Advanced and power-user settings
+sphinx:
+ recursive_update: true
+ config:
+ bibtex_reference_style: author_year # or label, super, \supercite
+ # unknown_mime_type - application/vnd.plotly.v1+json and application/vnd.bokehjs_load.v0+json
+ # domains - sphinx_proof.domain::prf needs to have `resolve_any_xref` method
+ # mime_priority - latex priority not set in myst_nb for text/html, application/javascript
+ suppress_warnings: ["mystnb.unknown_mime_type", "myst.domains", "mystnb.mime_priority"]
+ copybutton_prompt_text: "$"
+ nb_execution_show_tb: True
+ nb_execution_timeout: 120
+ intersphinx_mapping:
+ ebp:
+ - "https://executablebooks.org/en/latest/"
+ - null
+ myst-parser:
+ - "https://myst-parser.readthedocs.io/en/latest/"
+ - null
+ myst-nb:
+ - "https://myst-nb.readthedocs.io/en/latest/"
+ - null
+ sphinx:
+ - "https://www.sphinx-doc.org/en/master"
+ - null
+ nbformat:
+ - "https://nbformat.readthedocs.io/en/latest"
+ - null
+ sd:
+ - https://sphinx-design.readthedocs.io/en/latest
+ - null
+ language: en
+ latex_elements:
+ preamble: |
+ \newcommand\N{\mathbb{N}}
+ \newcommand\floor[1]{\lfloor#1\rfloor}
+ \newcommand{\bmat}{\left[\begin{array}}
+ \newcommand{\emat}{\end{array}\right]}
+ # TODO: #917 this path will be the default in sphinx v4
+ # mathjax_path: https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js
+ # However, it is incompatible with the mathjax config below for macros
+ mathjax3_config:
+ tex:
+ macros:
+ "N": "\\mathbb{N}"
+ "floor": ["\\lfloor#1\\rfloor", 1]
+ "bmat": ["\\left[\\begin{array}"]
+ "emat": ["\\end{array}\\right]"]
+ nb_custom_formats:
+ .Rmd:
+ - jupytext.reads
+ - fmt: Rmd
+ rediraffe_branch: 'master'
+ rediraffe_redirects:
+ content-types/index.md: file-types/index.md
+ content-types/markdown.md: file-types/markdown.md
+ content-types/notebooks.ipynb: file-types/notebooks.ipynb
+ content-types/myst-notebooks.md: file-types/myst-notebooks.md
+ content-types/jupytext.md: file-types/jupytext.Rmd
+ content-types/restructuredtext.md: file-types/restructuredtext.md
+ customize/toc.md: structure/toc.md
+ sd_fontawesome_latex: True
+
+ html_theme_options:
+ navigation_with_keys: false
+
+
+bibtex_bibfiles:
+ - references.bib
\ No newline at end of file
From ef74f6786f4b0f00a5f0eb46b030231ec74c8741 Mon Sep 17 00:00:00 2001
From: PeerHerholz
Date: Sun, 2 Jun 2024 16:24:36 -0500
Subject: [PATCH 08/33] add ToC
---
course/_toc.yml | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
create mode 100644 course/_toc.yml
diff --git a/course/_toc.yml b/course/_toc.yml
new file mode 100644
index 0000000..f215dc1
--- /dev/null
+++ b/course/_toc.yml
@@ -0,0 +1,20 @@
+root: index
+format: jb-book
+chapters:
+- file: dei
+- file: overview
+- file: outline
+- file: setup
+- file: introduction/pages/introduction.md
+ sections:
+ - file: introduction/pages/introduction_1.md
+- file: experimentation/pages/experimentation.md
+ sections:
+ - file: experimentation/pages/experimentation_1.md
+- file: finalization/pages/finalization.md
+ sections:
+ - file: finalization/pages/finalization_1.md
+- file: projects
+- file: break
+- file: questionnaires
+- file: CoC
From 6f6eb47d72134ed0bf5a3f641d951e140518db5e Mon Sep 17 00:00:00 2001
From: PeerHerholz
Date: Sun, 2 Jun 2024 16:24:44 -0500
Subject: [PATCH 09/33] add break section
---
course/break.md | 8 ++++++++
1 file changed, 8 insertions(+)
create mode 100644 course/break.md
diff --git a/course/break.md b/course/break.md
new file mode 100644
index 0000000..fe05354
--- /dev/null
+++ b/course/break.md
@@ -0,0 +1,8 @@
+# Yoga and/or dance break
+
+We all know the feeling: after sitting in a course for several hours, trying to follow and comprehend what's being shown and talked about, one just gets tired...Sure, coffee breaks are great, bring some energy back and the usual chat with folks is great for relaxing and networking. However, during these things we all tend to not move a lot and this is actually what our bodies need and want: moving around and stretching to get that blood to circulate and pump up our oxygen levels. Thus, we advocate to take 5 dedicated minutes within each break to specifically get some physical activity. Could be walking around, could be yoga, could be dancing...whatever works for you and you feel comfortable with. Gotta stay healthy, y'all!
+
+
+
+Along these lines: we also have a `spotify playlist` where you can add songs which we then can
+listen to during the breaks and practicals:
\ No newline at end of file
From a1d4af03228ffb6fefa4b924ba78b023541cb3b3 Mon Sep 17 00:00:00 2001
From: PeerHerholz
Date: Sun, 2 Jun 2024 16:24:50 -0500
Subject: [PATCH 10/33] add DEI section
---
course/dei.md | 98 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 98 insertions(+)
create mode 100644 course/dei.md
diff --git a/course/dei.md b/course/dei.md
new file mode 100644
index 0000000..e01aa3b
--- /dev/null
+++ b/course/dei.md
@@ -0,0 +1,98 @@
+# Diversity, Equity and Inclusion
+
+Let's rip one band-aid off right away: the current scientific and academic system is incredibly flawed and tremendously biased. Unfortunately, most students are not brought into contact with the respective issues during their studies and thus quite often perceive the present inequalities as "normal" and a given. This lead to the proliferation of exceptionally unfair "standards" and practices towards minorities and underrepresented groups. What's needed to combat these things are Universities, Departments, Lecturers, etc. that address these issues, as well as inform and enable students to actively engage in the process towards increasing [Diversity, Equity and Inclusion](https://en.wikipedia.org/wiki/Diversity_(business)) ([#DEI](https://twitter.com/hashtag/DEI?src=hashtag_click)) at all levels.
+
+You might think: "Why should I care and what does it have to do with me? I just want to study.". Well, even though you might not be (knowingly) affected, someone you know most likely will be and it will take all of us to change this for the better. In order to become aware of the systemic problems and issues others are facing and take corresponding actions, one needs to be able to make informed decisions based on a broad foundation of knowledge and this needs to be enabled asap.
+
+While we will talk about [#DEI](https://twitter.com/hashtag/DEI?src=hashtag_click) during the course it obviously won't be enough and additionally mostly limited to the experience and insights of the instructor. Thus, please take the time and effort to delve into this crucial topic by checking the resources linked below and utilizing them as a starting point. Please note that these things will be frequently updated. If you stumble across something that should be included, please contact the instructor so that it can be added.
+
+
+## Overview materials & introduction to DEI
+
+Below you'll find some useful resources to familiarize yourself with ([#DEI](https://twitter.com/hashtag/DEI?src=hashtag_click)) and related problems. The list will contain different media, from youtube videos, over journal publications to workshops and other information material.
+
+### Introductory videos
+
+A short overview video from the [Department of Medicine](https://healthsci.mcmaster.ca/medicine) at [McMaster University](https://www.mcmaster.ca/) about `Understanding Equity, Diversity and Inclusion in the Academy`.
+
+
+
+A set of videos from the [Southern Regional Education Board](www.SREB.org) focusing `Equity and Diversity in Higher Education`, including multiple presentations.
+
+
+
+A [TED talk](https://www.ted.com/talks), by [Janet Stovall](https://www.ted.com/speakers/janet_stovall) about `How to get serious about diversity and inclusion in the workplace`.
+
+
+
+And another [TED talk](https://www.ted.com/talks), this time by [Anthony Jack](https://www.tedxcambridge.com/speaker/anthony-jack/), called `On Diversity: Access Ain’t Inclusion`.
+
+
+
+A set of presentations about `Queer & Trans Perspectives in Academia` organized by [SAGE](https://us.sagepub.com/en-us/nam/home).
+
+
+
+
+
+### Journal publications
+
+There is an increasing amount of journal articles that address [#DEI](https://twitter.com/hashtag/DEI?src=hashtag_click) via various approaches. Below you'll find a short list of them, ranging from publications with a rather broad overview character to such that focus on a very specific topic.
+
+[Gender bias in academia: A lifetime problem that needs solutions](https://www.sciencedirect.com/science/article/pii/S0896627321004177)
+
+[Racial and ethnic imbalance in neuroscience reference lists and intersections with gender](https://www.biorxiv.org/content/10.1101/2020.10.12.336230v1)
+
+[The extent and drivers of gender imbalance in neuroscience reference lists](https://www.nature.com/articles/s41593-020-0658-y)
+
+[(In)citing Action to Realize an Equitable Future](https://www.cell.com/neuron/fulltext/S0896-6273(20)30357-3?_returnURL=https%3A%2F%2Flinkinghub.elsevier.com%2Fretrieve%2Fpii%2FS0896627320303573%3Fshowall%3Dtrue#relatedArticles)
+
+[The Citation Diversity Statement: A Practice of Transparency, A Way of Life](https://www.sciencedirect.com/science/article/pii/S1364661320301649?casa_token=PVTfHFUVDzUAAAAA:8OqlKsrlBRVTPcA-wk71rBVYbyM5OSPGRXhuJSVyLxHIF_Wh5KDTxytmllK0-ecEhFGPHN0KnZo)
+
+### Interactive materials
+
+More and more information concerning this important topic is also provided via interactive materials, i.e. shiny apps, that allow a more in-depth exploration. Sometimes add-ons to journal publications, sometimes independent work or repositories, sometimes based on other resources, these materials present interesting means to examine the corresponding complex interactions further. Below, you'll find a few respective examples:
+
+#### The Intersection of Race and Gender in Science Stratification
+
+A very informative resource that allows to explore "intersectional inequalities" across fields and topics, as well as including data and methods descriptions.
+
+
+
+
+
+
+### workshops
+
+TBA
+
+### other material
+
+Here's an informative Wikipedia article on ["First-generation college students in the United States"](https://en.wikipedia.org/wiki/First-generation_college_students_in_the_United_States). While it's obviously focused on the US education system, a lot of the outlined issues/problems/obstacles/hurdles are faced by first-gen students all over the world.
+
+## Initiatives
+
+Please note that this list will be rather "neuroscience-focused" as it's the instructor's main field of expertise/work. However, other resources will be added asap and frequently.
+
+### Women in Neuroscience Repository
+
+The [Women in Neuroscience Repository](https://www.winrepo.org/) aims to "identify and recommend female neuroscientists for conferences, symposia or collaborations." via providing a fantastic interactive resource organized by a multitude of keywords. There's also a [](https://twitter.com/WINRePo1) account.
+
+
+
+### Queer in Neuro
+
+The [Queer in Neuro](https://queerinneuro.com/) initiative is currently under development but exciting things will happen soon. Make sure to check their [twitter account](https://twitter.com/QueerInNeuro).s
+
+### Queer Engineer International
+
+[Queer Engineer Internation](https://www.queerengineer.org/) is an initiative "to build resources and authentic community at the intersection of LGBTQIA+ and STEM".
+
+
+
+
+### Letters to a Pre-Scientist
+
+The goal of [Letters to a Pre-Scientist](https://prescientist.org/) is to "inspire all students to explore a future in STEM" via connecting "students with real scientists to demystify STEM careers and empower all students to see themselves as future STEM professionals".
+
+
From e6e1f3a78e54bde947500d11ca5c3811830128b3 Mon Sep 17 00:00:00 2001
From: PeerHerholz
Date: Sun, 2 Jun 2024 16:24:55 -0500
Subject: [PATCH 11/33] add conf.py
---
course/conf.py | 105 +++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 105 insertions(+)
create mode 100644 course/conf.py
diff --git a/course/conf.py b/course/conf.py
new file mode 100644
index 0000000..d1a64fd
--- /dev/null
+++ b/course/conf.py
@@ -0,0 +1,105 @@
+# Configuration file for the Sphinx documentation builder.
+#
+# This file only contains a selection of the most common options. For a full
+# list see the documentation:
+# https://www.sphinx-doc.org/en/master/usage/configuration.html
+
+# -- Path setup --------------------------------------------------------------
+
+# If extensions (or modules to document with autodoc) are in another directory,
+# add these directories to sys.path here. If the directory is relative to the
+# documentation root, use os.path.abspath to make it absolute, like shown here.
+#
+# import os
+# import sys
+# sys.path.insert(0, os.path.abspath('.'))
+
+# -- Project information -----------------------------------------------------
+
+project = 'course_name'
+copyright = 'copyright_year, SPARK-CSD'
+author = 'SPARK-CSD'
+
+master_doc = "index"
+
+# -- General configuration ---------------------------------------------------
+
+# Add any Sphinx extension module names here, as strings. They can be
+# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
+# ones.
+extensions = [
+ "myst_nb",
+ "sphinx_togglebutton",
+ "sphinx_copybutton",
+ "sphinx.ext.intersphinx",
+ "sphinx.ext.autodoc",
+ "sphinx.ext.viewcode",
+]
+
+# Add any paths that contain templates here, relative to this directory.
+templates_path = ["_templates"]
+
+# List of patterns, relative to source directory, that match files and
+# directories to ignore when looking for source files.
+# This pattern also affects html_static_path and html_extra_path.
+exclude_patterns = ["_build", "Thumbs.db", ".DS_Store", "**.ipynb_checkpoints"]
+
+
+# -- Options for HTML output -------------------------------------------------
+
+# The theme to use for HTML and HTML Help pages. See the documentation for
+# a list of builtin themes.
+#
+html_title = ""
+html_theme = "sphinx_book_theme"
+html_logo = "_static/course_graphics/course_logo.png"
+html_theme_options = {
+ "github_url": "https://github.com/spark-csd/course_name",
+ "repository_url": "https://github.com/spark-csd/course_name",
+ "repository_branch": "main",
+ "use_edit_page_button": True,
+ "path_to_docs": "docs/",
+ "expand_sections": ["use/index", "examples/index"],
+}
+
+intersphinx_mapping = {
+ "python": ("https://docs.python.org/3.8", None),
+ "jb": ("https://jupyterbook.org/", None),
+ "myst": ("https://myst-parser.readthedocs.io/en/latest/", None),
+ "markdown_it": ("https://markdown-it-py.readthedocs.io/en/latest", None),
+ "nbclient": ("https://nbclient.readthedocs.io/en/latest", None),
+ "nbformat": ("https://nbformat.readthedocs.io/en/latest", None),
+ "sphinx": ("https://www.sphinx-doc.org/en/3.x", None),
+}
+
+intersphinx_cache_limit = 5
+
+nitpick_ignore = [
+ ("py:class", "docutils.nodes.document"),
+ ("py:class", "docutils.nodes.Node"),
+ ("py:class", "docutils.nodes.container"),
+ ("py:class", "docutils.nodes.system_message"),
+ ("py:class", "nbformat.notebooknode.NotebookNode"),
+ ("py:class", "pygments.lexer.RegexLexer"),
+]
+
+# Add any paths that contain custom static files (such as style sheets) here,
+# relative to this directory. They are copied after the builtin static files,
+# so a file named "default.css" will overwrite the builtin "default.css".
+html_static_path = ["static"]
+
+copybutton_selector = "div:not(.output) > div.highlight pre"
+
+nb_custom_formats = {".Rmd": ["jupytext.reads", {"fmt": "Rmd"}]}
+jupyter_execute_notebooks = "cache"
+execution_show_tb = "READTHEDOCS" in os.environ
+execution_timeout = 60 # Note: 30 was timing out on RTD
+
+myst_admonition_enable = True
+myst_amsmath_enable = True
+myst_html_img_enable = True
+myst_deflist_enable = True
+myst_url_schemes = ("http", "https", "mailto")
+panels_add_boostrap_css = False
+
+myst_enable_extensions = ["dollarmath"]
From f04fdd6f68fd93f64efd9074246d02fa1f2f3b08 Mon Sep 17 00:00:00 2001
From: PeerHerholz
Date: Sun, 2 Jun 2024 16:25:06 -0500
Subject: [PATCH 12/33] add .gitignore
---
.gitignore | 1 +
1 file changed, 1 insertion(+)
create mode 100644 .gitignore
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..e257b2c
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+course/_build/*
\ No newline at end of file
From d157c6f2973d6e731a4bc41c19595004b2b363a5 Mon Sep 17 00:00:00 2001
From: PeerHerholz
Date: Sun, 2 Jun 2024 16:25:19 -0500
Subject: [PATCH 13/33] add symposium section
---
course/symposium.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 course/symposium.md
diff --git a/course/symposium.md b/course/symposium.md
new file mode 100644
index 0000000..c11fda3
--- /dev/null
+++ b/course/symposium.md
@@ -0,0 +1 @@
+# Symposium
From d80d2e4503c4b928a2f0c492c06c13cb270e1b16 Mon Sep 17 00:00:00 2001
From: PeerHerholz
Date: Sun, 2 Jun 2024 16:25:25 -0500
Subject: [PATCH 14/33] add setup section
---
course/setup.md | 446 ++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 446 insertions(+)
create mode 100644 course/setup.md
diff --git a/course/setup.md b/course/setup.md
new file mode 100644
index 0000000..0530168
--- /dev/null
+++ b/course/setup.md
@@ -0,0 +1,446 @@
+# Setup for the course
+
+There are a few things you need to get working on your machine in order to follow this course. However, don't worry as it's all gonna be [open source](https://en.wikipedia.org/wiki/Open_source), won't require a lot of storage and will be explained in detail.
+
+While same parts and section will be do-able via `cloud computing`, which is nice and easy to follow in an interactive manner, it's not recommended as getting `Python` & friends to work reliably on your machine is going to be very beneficial. This holds true for the course and especially beyond. Via installing these tools, you will be equipped to basically continue right away and start using them in your everyday research workflow. This even applies if you won't continue with `python` (I certainly hope you do.) and instead work with `R` (of course also cool), `matlab` (weeeeeeeell...) or what have you. Having that in mind and integrating other tools/resources focusing open and reproducible (neuro-/data) science, you will find a rather comprehensive set of install instructions below. While not all of them might be totally necessary for the course, they all will help you a great deal going further and are especially useful/needed if we have to hold the course virtually due to the COVID-19 pandemic.
+
+Don't worry, you got this!
+
+![logo](https://media1.tenor.com/images/f72cb542d6b3e3c3421889e0a3d9628d/tenor.gif?itemid=4533805)\
+https://media1.tenor.com/images/f72cb542d6b3e3c3421889e0a3d9628d/tenor.gif?itemid=4533805
+
+
+## General things
+
+There are a few computing requirements for the course that are absolutely necessary (beyond the few software packages you should install, described below):
+
+1. You must have administrator access to your computer (i.e., you must be able to install things yourself without requesting IT approval).
+1. You must have at least 20 GB of free disk space on your computer (but we would recommend more, to be safe).
+1. If you are using Windows you must be using Windows 10; Windows 7 and 8 will not be sufficient for this course.
+
+If you foresee any of these being a problem please reach out to one of the instructors for what steps you can take to ensure you are ready for the course start.
+
+## Required software
+
+To get the most out of the course, we ask that you arrive with the following software already installed:
+
+- A command-line shell: `Bash`
+- A version control system: [Git](https://git-scm.com/) & [DataLad](https://www.datalad.org/)
+- A remote-capable text editor: [VSCode](https://code.visualstudio.com/)
+- A literature & reference manager: [Zotero](https://www.zotero.org/)
+- `Python 3` via `Miniconda`
+- A [GitHub](https://github.com/) account
+- [Discord](https://discord.com/)
+- A `modern browser` (e.g. [Chrome](https://www.google.com/chrome/index.html), or [Firefox](https://www.mozilla.org/en-CA/firefox/new/))
+
+If you already have all of the above software tools/packages installed, or are confident you’ll be able to install them by the time the course starts, you can jump straight to [checking your install](#checking-your-install).
+The rest of this page provides more detail on installation procedures for each of the above elements, with separate instructions for each of the three major operating systems (`Windows`, `Mac OS`, and `Linux`).
+
+### Some quick general notes on instructions
+
+- There is no difference between `Enter` and `Return` in these instructions, so just press whatever the equivalent on your keyboard is whenever one is stated
+- If you already have some of these things installed on your computer already that should (theoretically) be okay.
+ However, you need to make sure that you are able to complete the steps described in [checking your install](#checking-your-install) without issue.
+ - For example, having multiple different `Python` installations on your computer can lead to incredibly frustrating issues that are very difficult to debug.
+ As such, if you have already installed `Python` via some other application (not `Miniconda`/`Anaconda`), it's strongly encouraged to uninstall it before following the instructions below.
+ You _must_ have `Python` installed via `Miniconda` for this course.
+
+### OS-specific installation instructions
+
+Select the tab that corresponds to your operating system and follow the instructions therein.
+You can, of course, skip sections of tools you have already installed/set up. However, please make sure to run our little `installation test script` outlined at the end of this section and in case, something doesn't work out install the respective tool(s) as outlined here.
+
+````{tab-set}
+```{tab-item} Windows
+**Windows Subsystem for Linux (WSL)**
+
+1. Search for `Windows Powershell` in your applications; right click and select `Run as administrator`.
+ Select `Yes` on the prompt that appears asking if you want to allow the app to make changes to your device.
+2. Type the following into the Powershell and then press `Enter`:
+
+ Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
+
+3. Press `Enter` again when prompted to reboot your computer.
+4. Once your computer has rebooted, open the Microsoft Store and search for "Ubuntu."
+ Install the program labelled "Ubuntu 18.04" (not "Ubuntu 16.04" or "Ubuntu") by clicking the tile, pressing `Get`, and then `Install`.
+5. Search for and open Ubuntu from your applications.
+ There will be a slight delay (of a few minutes) while it finishes installing.
+6. You will be prompted to `Enter new UNIX username`.
+ You can use any combination of alphanumeric characters here for your username, but a good choice is `` (e.g., `jsmith` for John Smith).
+ You will then be prompted to enter a new password.
+ (Choose something easy to remember as you will find yourself using it frequently.)
+7. Right click on the top bar of the Ubuntu application and select "Properties".
+ Under the "Options" tab, under the "Edit Options" heading, make sure the box reading "Use Ctrl+Shift+C/V as Copy/Paste" is checked.
+ Under the "Terminal" tab, under the "Cursor Shape" heading, make sure the box reading "Vertical Bar" is checked.
+ Press "Okay" to save these settings and then exit the application.
+
+(The above step-by-step WSL instructions are distilled from [here](https://docs.microsoft.com/en-us/windows/wsl/install-win10) and [here](https://docs.microsoft.com/en-us/windows/wsl/initialize-distro).
+If you have questions during the installation procedure those resources may have answers!)
+
+From this point on whenever the instructions specify to "open a terminal" please assume you are supposed to open the Ubuntu application.
+
+**Bash shell**
+
+You already have it, now that you’ve installed the WSL!
+
+**Git**
+
+You already have it, now that you’ve installed the WSL!
+
+**DataLad**
+
+Please follow the [fantastic install instructions of the `DataLad handbook`](http://handbook.datalad.org/en/latest/intro/installation.html#installation-and-configuration). However, here's what worked for us in short:
+
+At first, we need to get [NeuroDebian](https://neuro.debian.net/) in order to install the fitting version of [DataLad](https://www.datalad.org/), i.e. `0.14`. Thus, please select your [respective OS](https://neuro.debian.net/#get-neurodebian), here `Ubuntu 18.04` and a `download server`, e.g. `Germany (G-Node, LMU Munich)`. Then, simply follow the resulting instructions, starting with adding the `NeuroDebian` `repository`:
+
+
+ wget -O- http://neuro.debian.net/lists/bionic.us-nh.full | sudo tee /etc/apt/sources.list.d/neurodebian.sources.list
+ sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xA5D32F012649A5A9
+
+
+
+and then updating the package index:
+
+ sudo apt-get update
+
+
+Now you should be able to install `DataLad` via:
+
+ sudo apt-get install datalad
+
+
+**VSCode**
+
+1. Go to https://code.visualstudio.com/ and click the download button, then run the `.exe` file.
+1. Leave all the defaults during the installation with the following exception:
+ - Please make sure the box labelled "Register Code as an editor for supported file types" is selected
+
+**VSCode extensions**
+
+1. Open the Ubuntu application.
+1. Type `code .` into the terminal and press `Enter`.
+ You should see a message reading "Installing VS Code Server" and then a new windows will open up.
+1. Press `Ctrl+Shift+P` in the new window that opens and type "Extensions: Install extensions" into the search bar that appears at the top of the screen.
+ Select the appropriate entry from the dropdown menu that appears (there should be four entries; simply select the one that reads "Extensions: Install extensions").
+1. A new panel should appear on the left-hand side of the screen with a search bar.
+ Search for each of the following extensions and press `Install` for the first entry that appears. (The author listed for all of these extensions should be "Microsoft".)
+ - Python (n.b., you will need to reload VSCode after installing this)
+ - Live Share (n.b., you may need to press "Ctrl/Cmd+Shift+P" and type "install extensions" again after installing this)
+ - Live Share Extension Pack
+ - Docker
+ - Remote - WSL
+
+**Zotero**
+
+1. Go to https://www.zotero.org/ and click the "Log in" button followed by the "Register for a free account" button on the subsequent page.
+2. Register for a free account via providing the necessary information. N.B.: Think about the email address you are using for the registration. While it might seem feasible/appropriate to use your university account, please remember that you won't have access to it anymore after you finished your studies. Obviously, you could just change it when the time comes but you could also just use a different one right away (which might be less prone to problems anyway).
+3. Download the [Zotero Desktop App for windows](https://www.zotero.org/download/client/dl?channel=release&platform=win32&version=5.0.96.3) from the [Download page](https://www.zotero.org/download/), run the downloaded `.exe` file and follow the instructions on your screen.
+4. Open the `Zotero Desktop App`, go to `Zotero` -> `Preferences` -> `Sync` and log in with your user credentials.
+
+**Python**
+
+1. Open a new terminal and type the following lines (separately) into the terminal, pressing `Enter` after each one:
+
+ wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
+ bash Miniconda3-latest-Linux-x86_64.sh
+
+1. A license agreement will be displayed and the bottom of the terminal will read `--More--`.
+ Press `Enter` or the space bar until you are prompted with "Do you accept the license terms? [yes|no]."
+ Type `yes` and then press `Enter`
+1. The installation script will inform you that it is going to install into a default directory (e.g., `/home/$USER/miniconda3`).
+ Leave this default and press `Enter`.
+1. When you are asked "Do you wish the installer to initialize Miniconda3 by running conda init? [yes|no]," type `yes` and press `Enter`.
+ Exit the terminal once the installation has finished.
+1. Re-open the Ubuntu application.
+ Type `which python` into the terminal and it should return a path (e.g., `/home/$USER/miniconda3/bin/python`).
+ - If you do not see a path like this then please try typing `conda init`, closing your terminal, and repeating this step.
+ If your issue is still not resolved skip the following step and contact an instructor on the #help-installation channel on the BHS Slack.
+1. Type the following to remove the installation script that was downloaded:
+
+ rm ./Miniconda3-latest-Linux-x86_64.sh
+
+
+**Python packages**
+
+Open a terminal and type the following commands:
+
+ conda config --append channels conda-forge
+ conda config --set channel_priority strict
+
+```
+
+```{tab-item} Linux
+**Bash shell**
+
+You already have it!
+Depending on which version of Linux you’re running you may need to type `bash` inside the terminal to access it.
+To check whether this is necessary, follow these steps:
+
+1. Open a terminal and type `echo $SHELL`.
+ If it reads `/bin/bash` then you are all set!
+ If not, whenever the instructions read "open a terminal," please assume you are to open a terminal, type `bash`, and the proceed with the instructions as specified.
+
+**Git**
+
+You may already have it; try typing `sudo apt-get install git` (Ubuntu, Debian) or `sudo yum install git` (Fedora) inside the terminal.
+If you are prompted to install it follow the instructions on-screen to do so.
+
+**DataLad**
+
+Please follow the [fantastic install instructions of the `DataLad handbook`](http://handbook.datalad.org/en/latest/intro/installation.html#installation-and-configuration). However, here's what worked for us in short:
+
+At first, we need to get [NeuroDebian](https://neuro.debian.net/) in order to install the fitting version of [DataLad](https://www.datalad.org/), i.e. `~0.14`. Thus, please select your [respective OS](https://neuro.debian.net/#get-neurodebian), here `Ubuntu 18.04` and a `download server`, e.g. `Germany (G-Node, LMU Munich)`. Then, simply follow the resulting instructions, starting with adding the `NeuroDebian` `repository`:
+
+
+ wget -O- http://neuro.debian.net/lists/bionic.us-nh.full | sudo tee /etc/apt/sources.list.d/neurodebian.sources.list
+ sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xA5D32F012649A5A9Hi
+
+
+and then updating the package index:
+
+ sudo apt-get update
+
+
+Now you should be able to install `DataLad` via:
+
+ sudo apt-get install datalad
+
+**VSCode**
+
+1. Go to https://code.visualstudio.com/ and click the download button for either the .deb (Ubuntu, Debian) or the .rpm (Fedora, CentOS) file.
+1. Double-click the downloaded file to install VSCode.
+ (You may be prompted to type your administrator password during the install).
+
+**VSCode extensions**
+
+1. Open the Visual Studio Code application.
+1. Press `Ctrl+Shift+P` in the new window that opens and type "Extensions: Install extensions" into the search bar that appears at the top of the screen.
+ Select the appropriate entry from the dropdown menu that appears (there should be four entries; simply select the one that reads "Extensions: Install extensions").
+1. A new panel should appear on the left-hand side of the screen with a search bar.
+ Search for each of the following extensions and press `Install` for the first entry that appears. (The author listed for all of these extensions should be "Microsoft".)
+ - Python (n.b., you will need to reload VSCode after installing this)
+ - Live Share (n.b., you may need to press "Ctrl/Cmd+Shift+P" and type "install extensions" again after installing this)
+ - Live Share Extension Pack
+ - Docker
+
+**Zotero**
+
+1. Go to https://www.zotero.org/ and click the "Log in" button followed by the "Register for a free account" button on the subsequent page.
+2. Register for a free account via providing the necessary information. N.B.: Think about the email address you are using for the registration. While it might seem feasible/appropriate to use your university account, please remember that you won't have access to it anymore after you finished your studies. Obviously, you could just change it when the time comes but you could also just use a different one right away (which might be less prone to problems anyway).
+3. Download the [Zotero Desktop App for linux](https://www.zotero.org/download/client/dl?channel=release&platform=linux-x86_64&version=5.0.96.3) from the [Download page](https://www.zotero.org/download/), run the downloaded file and follow the instructions on your screen.
+4. Open the `Zotero Desktop App`, go to `Zotero` -> `Preferences` -> `Sync` and log in with your user credentials.
+
+**Python**
+
+1. Open a new terminal and type the following lines (separately) into the terminal, pressing `Enter` after each one:
+
+ wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
+ bash Miniconda3-latest-Linux-x86_64.sh
+
+
+1. A license agreement will be displayed and the bottom of the terminal will read `--More--`.
+ Press `Enter` or the space bar until you are prompted with "Do you accept the license terms? [yes|no]."
+ Type `yes` and then press `Enter`
+1. The installation script will inform you that it is going to install into a default directory (e.g., `/home/$USER/miniconda3`).
+ Leave this default and press `Enter`.
+1. When you are asked "Do you wish the installer to initialize Miniconda3 by running conda init? [yes|no]," type `yes` and press `Enter`.
+ Exit the terminal once the installation has finished.
+1. Re-open a new terminal.
+ Type `which python` into the terminal and it should return a path (e.g., `/home/$USER/miniconda3/bin/python`).
+ - If you do not see a path like this then please try typing `conda init`, closing your terminal, and repeating this step.
+ If your issue is still not resolved skip the following step and contact an instructor on the #help-installation channel of the BHS Slack.
+1. Type the following to remove the installation script that was downloaded:
+
+ rm ./Miniconda3-latest-Linux-x86_64.sh
+
+**Python packages**
+
+Open a terminal and type the following commands:
+
+ conda config --append channels conda-forge
+ conda config --set channel_priority strict
+
+```
+
+```{tab-item} MacOs
+**Bash shell**
+
+You already have it!
+Depending on which version of Mac OS you’re running you may need to type `bash` inside the terminal to access it.
+To check whether this is necessary, follow these steps:
+
+1. Open a terminal and type `echo $SHELL`.
+ If it reads `/bin/bash` then you are all set!
+
+Note: If you are using Mac Catalina (10.15.X) then it is possible your default shell is NOT CORRECT.
+To set the default to bash, type `chsh -s /bin/bash` in the terminal, enter your password when prompted, and then close + re-open the terminal.
+
+**Git**
+
+You may already have it!
+Try opening a terminal and typing `git --version`.
+If you do not see something like “git version X.XX.X” printed out, then follow these steps:
+
+1. Follow [this link](https://sourceforge.net/projects/git-osx-installer/files/git-2.23.0-intel-universal-mavericks.dmg/download?use_mirror=autoselect) to automatically download an installer.
+1. Double click the downloaded file (`git-2.23.0-intel-universal-mavericks.dmg`) and then double click the `git-2.23.0-intel-universal-mavericks.pkg` icon inside the dmg that is opened.
+1. Follow the on-screen instructions to install the package.
+
+**DataLad**
+
+Please follow the [fantastic install instructions of the `DataLad handbook`](http://handbook.datalad.org/en/latest/intro/installation.html#installation-and-configuration).
+
+**VSCode**
+
+1. Go to https://code.visualstudio.com/ and click the download button.
+1. Unzip the downloaded file (e.g., `VSCode-darwin-stable.zip`) and moving the resulting `Visual Studio Code` file to your Applications directory.
+
+**VSCode extensions**
+
+1. Open the Visual Studio Code application
+1. Type `Cmd+Shift+P` and then enter "Shell command: Install 'code' command in PATH" into the search bar that appears at the top of the screen.
+ Select the highlighted entry.
+ A notification box should appear in the bottom-right corner indicating that the command was installed successfully.
+1. Type `Cmd+Shift+P` again and then enter "Extensions: Install extensions" into the search bar.
+ Select the appropriate entry from the dropdown menu that appears (there should be four entries; simply select the one that reads "Extensions: Install extensions").
+1. A new panel should appear on the left-hand side of the screen with a search bar.
+ Search for each of the following extensions and press `Install` for the first entry that appears. (The author listed for all of these extensions should be "Microsoft".)
+ - Python (n.b., you will need to reload VSCode after installing this)
+ - Live Share (n.b., you may need to press "Ctrl/Cmd+Shift+P" and type "install extensions" again after installing this)
+ - Live Share Extension Pack
+ - Docker
+
+**Zotero**
+
+1. Go to https://www.zotero.org/ and click the "Log in" button followed by the "Register for a free account" button on the subsequent page.
+2. Register for a free account via providing the necessary information. N.B.: Think about the email address you are using for the registration. While it might seem feasible/appropriate to use your university account, please remember that you won't have access to it anymore after you finished your studies. Obviously, you could just change it when the time comes but you could also just use a different one right away (which might be less prone to problems anyway).
+3. Download the [Zotero Desktop App for macOS](https://www.zotero.org/download/client/dl?channel=release&platform=mac&version=5.0.96.3) from the [Download page](https://www.zotero.org/download/), run the downloaded file and follow the instructions on your screen.
+4. Open the `Zotero Desktop App`, go to `Zotero` -> `Preferences` -> `Sync` and log in with your user credentials.
+
+**Python**
+
+1. Open a new terminal and type the following lines (separately) into the terminal, pressing `Enter` after each one:
+
+ curl -O https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh
+ bash Miniconda3-latest-MacOSX-x86_64.sh
+
+
+1. A license agreement will be displayed and the bottom of the terminal will read `--More--`.
+ Press `Enter` or the space bar until you are prompted with "Do you accept the license terms? [yes|no]."
+ Type `yes` and then press `Enter`
+1. The installation script will inform you that it is going to install into a default directory (e.g., `/home/$USER/miniconda3`).
+ Leave this default and press `Enter`.
+1. When you are asked "Do you wish the installer to initialize Miniconda3 by running conda init? [yes|no]," type `yes` and press `Enter`.
+ Exit the terminal once the installation has finished.
+1. Re-open a terminal.
+ Type `which python` into the terminal and it should return a path (e.g., `/home/$USER/miniconda3/bin/python`).
+ - If you do not see a path like this then please try typing `conda init`, closing your terminal, and repeating this step.
+ If your issue is still not resolved skip the following step and contact an instructor on the #help-installation channel of the BHS Slack.
+1. Type the following to remove the installation script that was downloaded:
+
+ rm ./Miniconda3-latest-MacOSX-x86_64.sh
+
+
+**Python packages**
+
+Open a terminal and type the following commands:
+
+ conda config --append channels conda-forge
+ conda config --set channel_priority strict
+
+```
+````
+
+
+**Note**: If the instructions aren't working and you have spent more than 15-20 minutes troubleshooting on your own, reach out on the #help-installation channel on the Discord channel with the exact problems you're having.
+One of the instructors will try and get back to you quickly to help resolve the situation.
+If they're unable to help via `Discord`, you may be directed to attend one of the installation office hours.
+
+### GitHub account
+
+Go to https://github.com/join/ and follow the on-screen instructions to create an account.
+It is a good idea to associate this with your university e-mail (if you have one) as this will entitle you to sign up for the [GitHub Student Developer Pack](https://education.github.com/pack) which comes with some nice free bonuses.
+
+### Discord
+
+Go to https://discord.com/ and download and install Discord. Please note, that you can also use Discord through your browser if you don't want to download it.
+You will be invited to the course channel via e-mail.
+
+### Modern web browser
+
+Please install [Chrome](https://www.google.com/chrome/index.html) or [Firefox](https://www.mozilla.org/en-CA/firefox/new/).
+(Safari might also work.)
+Microsoft Edge is not modern, despite what Microsoft might try and otherwise tell you.
+
+
+**Integrations**
+
+A few of the tools you installed additionally nicely integrate with one another. It's of course up to you to make use of that but it's definitely recommended as it will ease up your (research/work/study) life quite a bit.
+
+1. Go to https://www.zotero.org/download/ and install the connector for your respective browser. With that you can directly get `articles`, `books`, `blog posts`, etc. and their `meta-data` from the web and added to your `zotero` library. Please note: the `Zotero Desktop App` needs to be open for this to work.
+2. Make sure the `connector` also added the `Zotero plug in` to `google docs`, which should look like the following. Please note: the `Zotero Desktop App` needs to be open for the plug in to work.
+
+
+
+
+**Other cool/interesting things**
+
+1. A [Google Chrome Extension](https://chrome.google.com/webstore/detail/citation-transparency/cepnbdbhabaljgecaddglhhcgajphbcf?hl=en) targeting citation transparency focusing gender imbalance. Going further, your `Zotero library` can also be used to [create a diversity statement](https://github.com/dalejn/cleanBib#instructions) which can be added to your written submissions. Find out more about it on [Dani Bassett](https://complexsystemsupenn.com/)'s [lab website](https://complexsystemsupenn.com/diversity-1).
+2. [Grammarly](https://www.grammarly.com/): an AI powered cloud-based writing assistant that can help with typos, spelling, grammar, punctuation, clarity, engagement, and delivery mistakes. The basic version is free and integrates nicely with browsers and local apps.
+3. [GitKraken Glo Boards](https://app.gitkraken.com/glo/): create and track tasks for better project management.
+4. Get a [pomodoro](https://en.wikipedia.org/wiki/Pomodoro_Technique) app that helps you to stay focus, track your work and get things done. For some examples check this [list](https://www.jotform.com/blog/best-pomodoro-app/).
+
+## Checking your install
+
+Now that you've installed everything it's time to check that everything works as expected!
+Type the following into your terminal:
+
+ bash <( curl -s https://raw.githubusercontent.com/spark-csd/course_name/main/check_install.sh)
+
+If you installed everything correctly you should see a message informing you as such.
+If any problems were detected you should receive some brief instructions on what is wrong with potential suggestions on how to remedy it.
+If you followed these instructions step-by-step and cannot resolve the issue please contact one of the course instructors for more help.
+
+Yeah, you did! Great job!
+
+![logo](https://media1.tenor.com/images/d5ebabf248130ec3842ed3b8627fd4f2/tenor.gif?itemid=4770158)\
+https://media1.tenor.com/images/d5ebabf248130ec3842ed3b8627fd4f2/tenor.gif?itemid=4770158
+
+## Getting the course content
+
+Now that you have installed the required software (or not) to follow the course, it's time to gather the respective materials.
+
+```{tabbed} Local
+\
+https://upload.wikimedia.org/wikipedia/commons/e/ea/Conda_logo.svg
+
+By installing `Python` on your system (i.e. specifically `Conda`) and setting up the appropriate environment, you will be able to open all the `Jupyter Notebooks` and go through the whole content of the course locally.
+
+To get things up and running, please follow these steps:
+
+1. Download the [`environment.yml`](https://raw.githubusercontent.com/spark-csd/course_name/main/environment.yml) file (e.g. with right mouse click -> Save As). Make sure that the file ends with `.yml` and not `.txt`.
+2. Open up a conda terminal (or any other terminal), and create a new conda environment with the following command: `conda env create -f /path/to/file/environment.yml` - For example `conda env create -f ~/Downloads/environment.yml`
+3. Download the notebooks in this repository via [this link](https://github.com/spark-csd/course_name/archive/main.zip)) and unzip them to your preferred location, e.g. `Desktop/course_name` or via the Download option in the respective sections.
+4. Next, open up a `conda terminal` (or any other `terminal`), activate the `conda environment` with `conda activate course_name_env` (or on older `conda environment` with `source activate course_name_env` for `mac` and `linux` and `activate course_name_env` for `windows`).
+5. Finally, via the `terminal`, move to the folder where you've put all the unzipped content of this workshop, e.g. with the command `cd ~/Desktop/course_name` and run the command `jupyter notebook`. If the `notebook server` isn't automatically opened in a new browser window, please copy-paste either the `http://127.0.0.1:8888/...` or the `http://localhost:8888/...` path into a new browser window and press `Enter`. You should now see the `jupyter notebook server` (looking like a file browser and displaying the content of the directory).
+```
+
+```{tabbed} Cloud via Mybinder
+
+\
+https://mybinder.org/static/logo.svg?v=fe52c40adc69454ba7536393f76ebd715e5fb75f5feafe16a27c47483eabf3311c14ed9fda905c49915d6dbf369ae68fb855a40dd05489a7b9542a9ee532e92b
+
+
+[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/spark-csd/course_name/HEAD)
+
+[MyBinder.org](https://mybinder.org/) is a great service that allows you to run Jupyter notebooks in a `Docker` or `Python` `environment`, directly online and for free. However, this service comes of course with a restricted computational environment (1-2GB of RAM). This means, many notebooks might be very slow and some might even crash, due to not enough memory.
+
+You can use this approach to run and test most of the notebooks and to explore the slides. To access the MyBinder instance, use [this link](https://mybinder.org/v2/gh/spark-csd/course_name/HEAD).
+```
+
+## Enter the matrix
+
+Once you reached this point, you should be ready the enter the matrix and follow the course in your preferred way. Congrats, fantastic work!
+
+![logo](https://media1.tenor.com/images/e5c21d98f56c4af119b4e14b6a9df893/tenor.gif?itemid=4011236)\
+https://media1.tenor.com/images/e5c21d98f56c4af119b4e14b6a9df893/tenor.gif?itemid=4011236
+
From 427484e5470583fef211bea73d8a14536450a1e8 Mon Sep 17 00:00:00 2001
From: PeerHerholz
Date: Sun, 2 Jun 2024 16:25:31 -0500
Subject: [PATCH 15/33] add questionnaire section
---
course/questionnaires.md | 139 +++++++++++++++++++++++++++++++++++++++
1 file changed, 139 insertions(+)
create mode 100644 course/questionnaires.md
diff --git a/course/questionnaires.md b/course/questionnaires.md
new file mode 100644
index 0000000..397f10b
--- /dev/null
+++ b/course/questionnaires.md
@@ -0,0 +1,139 @@
+## Questionnaire templates
+
+Below you can find questionnaire templates to be used for the evaluation of
+progress and difficulties along the lecture.
+
+### 1) At the beginning of a lecture or lecture's section:
+
+**1.1)** Please indicate whether you have received formal training in
+**:
+
+| Have you participated in one (or more) of the following?| |no |yes|
+|---------------------------------------------------------|---|---|---|
+| Lecture | | | |
+| Seminar | | | |
+| Workshop | | | |
+| Internship | | | |
+| Other: | | | |
+
+**1.2)** Would you consider your self experienced in the context of:
+
+**:
+
+| **no, not at all** | | | | | | **yes, entirely** |
+|:------------------:|-----|-----|-----|-----|-----|:-----------------:|
+| (1) | (2) | (3) | (4) | (5) | (6) | (7) |
+
+**:
+
+| **no, not at all** | | | | | | **yes, entirely** |
+|:------------------:|-----|-----|-----|-----|-----|:-----------------:|
+| (1) | (2) | (3) | (4) | (5) | (6) | (7) |
+
+
+**1.3)** From your current perspective, what part of **
+would you consider to be the most challenging for you? If you don't have any
+experience with **, which part of **
+do you think might be the most challenging for you?
+
+| **(free text)** |
+|:---------------:|
+
+### 2) Before and after specific training sessions:
+
+#### Before:
+
+Please indicate how well prepared do you feel to take on the following part of
+the project.
+
+Use the following scale to answer: no, not at all (1) - yes, entirely (7)
+
+**2.1)** At this stage, how well prepared do you feel to perform
+**?
+
+| **no, not at all** | | | | | | **yes, entirely** |
+|:------------------:|-----|-----|-----|-----|-----|:-----------------:|
+| (1) | (2) | (3) | (4) | (5) | (6) | (7) |
+
+**2.2)** At this stage, how confident do you feel about **?
+
+| **no, not at all** | | | | | | **yes, entirely** |
+|:------------------:|-----|-----|-----|-----|-----|:-----------------:|
+| (1) | (2) | (3) | (4) | (5) | (6) | (7) |
+
+
+#### After:
+
+Having heard about **, please indicate how well prepared do
+you feel to take on the following part of the project.
+
+Use the following scale to answer: no, not at all (1) - yes, entirely (7)
+
+**2.3)** How well prepared do you feel to perform **?
+
+| **no, not at all** | | | | | | **yes, entirely** |
+|:------------------:|-----|-----|-----|-----|-----|:-----------------:|
+| (1) | (2) | (3) | (4) | (5) | (6) | (7) |
+
+**2.4)** How confident do you feel about **?
+
+| **no, not at all** | | | | | | **yes, entirely** |
+|:------------------:|-----|-----|-----|-----|-----|:-----------------:|
+| (1) | (2) | (3) | (4) | (5) | (6) | (7) |
+
+Please take a moment to evaluate the following aspects of the
+training session/lecture:
+
+**2.5)** How well informed we're you with regard to the current topic? (i.e.,
+did you know what was expecting you?)
+
+| **no, not at all** | | | | | | **yes, entirely** |
+|:------------------:|-----|-----|-----|-----|-----|:-----------------:|
+| (1) | (2) | (3) | (4) | (5) | (6) | (7) |
+
+**2.6)** Did the session/lecture provide enough opportunities for you to
+actively participate?
+
+| **no, not at all** | | | | | | **yes, entirely** |
+|:------------------:|-----|-----|-----|-----|-----|:-----------------:|
+| (1) | (2) | (3) | (4) | (5) | (6) | (7) |
+
+**2.7)** How satisfied are you with the content of the training/lecture?
+
+| **no, not at all** | | | | | | **yes, entirely** |
+|:------------------:|-----|-----|-----|-----|-----|:-----------------:|
+| (1) | (2) | (3) | (4) | (5) | (6) | (7) |
+
+**2.8)** How satisfied are you with the didactic methods used during
+the training/lecture?
+
+| **no, not ar all** | | | | | | **yes, entirely** |
+|:------------------:|-----|-----|-----|-----|-----|:-----------------:|
+| (1) | (2) | (3) | (4) | (5) | (6) | (7) |
+
+**2.9)** What was the most challenging part of the training/lecture?
+Did something in particular helped you master these challenges? Did you
+miss anything that might have helped you overcome these issues? If you
+didn't experience any difficulties, please tell us what the most
+helpful/insightful part of the training/lecture was for you (< 100 words):
+
+| **(free text)** |
+|:---------------:|
+
+**(optional)** How satisfied are you with the teaching staff?
+
+| **no, not at all** | | | | | | **yes, entirely** |
+|:------------------:|-----|-----|-----|-----|-----|:-----------------:|
+| (1) | (2) | (3) | (4) | (5) | (6) | (7) |
+
+**(optional)** Was the teaching staff friendly/respectful?
+
+| **no, not at all** | | | | | | **yes, entirely** |
+|:------------------:|-----|-----|-----|-----|-----|:-----------------:|
+| (1) | (2) | (3) | (4) | (5) | (6) | (7) |
+
+**(optional)**
+
+| **no, not at all** | | | | | | **yes, entirely** |
+|:------------------:|-----|-----|-----|-----|-----|:-----------------:|
+| (1) | (2) | (3) | (4) | (5) | (6) | (7) |
From 469f16be2a33c0b3d259e0ea6a12650061a6e1e2 Mon Sep 17 00:00:00 2001
From: PeerHerholz
Date: Sun, 2 Jun 2024 16:25:36 -0500
Subject: [PATCH 16/33] add projects section
---
course/projects.md | 7 +++++++
1 file changed, 7 insertions(+)
create mode 100644 course/projects.md
diff --git a/course/projects.md b/course/projects.md
new file mode 100644
index 0000000..9b7c537
--- /dev/null
+++ b/course/projects.md
@@ -0,0 +1,7 @@
+# Student projects
+
+As mentioned on the [overview page](), the core of this class are research projects that will be conducted under guidance (potentially in groups), the `research experiment`s, by each participant. This is explained in a bit more detail below and generated materials for each (e.g. `pre-registration`, `DMP`, etc.) will be added throughout the semester.
+
+## Research project
+
+Building upon the work of the [Introduction block](), the aim of the `research project` is to allow you to conduct `research work` more independently. While everyone will use the same basic experimental setup, each group/participant will form their own `sub-projects` and respective `hypotheses`. In general the steps will the same as discussed in the [Introduction block](): setting up a project, finding literature, defining hypotheses, do a pre-registering, write a data management plan, set up the experiment, acquire data, analyze data and write a report based on the outcomes. In addition, the `research project` will also entail the presentation of relevant literature and a poster presentation.
\ No newline at end of file
From 3ffc30396742196146be6fdba00c92bed9467ef9 Mon Sep 17 00:00:00 2001
From: PeerHerholz
Date: Sun, 2 Jun 2024 16:25:50 -0500
Subject: [PATCH 17/33] add overview section
---
course/overview.md | 187 +++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 187 insertions(+)
create mode 100644 course/overview.md
diff --git a/course/overview.md b/course/overview.md
new file mode 100644
index 0000000..32036cc
--- /dev/null
+++ b/course/overview.md
@@ -0,0 +1,187 @@
+# Course overview & procedure
+
+
+
+
+
+Traditionally, one way of achieving this is to familiarize students with all parts of the respective processes early on in their studies with an application to real-world problems and questions. More precisely, folks conduct several experiments, provided and self-chosen, within which they perform all or most of the necessary steps of the corresponding research workflow themselves, both in a guided and independent manner. Importantly, all of this will be conducted based on [open science principles](https://en.wikipedia.org/wiki/Open_science). This has several important reasons: addressing the faulty direction science and academia in via changing incentive structures ([open methodology](https://en.wikipedia.org/wiki/Open-notebook_science), [open data](https://en.wikipedia.org/wiki/Open_data), [open access](https://en.wikipedia.org/wiki/Open_access),[open peer review](https://en.wikipedia.org/wiki/Open_peer_review)), enable students to become active and self-sufficient parts of the research and scientific community via the sole utilization of [open-source software](https://en.wikipedia.org/wiki/Open_source) and [open educational resources](https://en.wikipedia.org/wiki/Open_educational_resources), as well as increasing the [diversity and inclusivity of science and academia](https://www.psychologicalscience.org/observer/words-to-action) via the diminution of hurdles and barriers: science by everyone for everyone in an open and welcoming manner.
+
+
+
+
+### TL;DR
+
+Within this course we will course_description. To do so, we will follow a “learning by doing” approach in a tripartite manner. Starting from a [basic introduction (Block I)](https://spark-csd.github.io/course_name_repository/introduction/pages/introduction.html), we will [run actual experiments/analyzes (Block II)](https://spark-csd.github.io/course_name_repository/experimentation/pages/experimentation.html) planned and conducted by you, as well as [communicate/present the obtained results (Block III)](https://spark-csd.github.io/course_name_repository/finalization/pages/finalization.html). Thus, we actively seek out realistic examples and workflows that mimic the lifecycle of real-world projects, trying to present you with both a respective overview and hands-on experience.
+
+![outline](static/course_graphics/course_outline.png)
+
+
+All of this following [open science principles](https://en.wikipedia.org/wiki/Open_science) as outlined in the [rainbow of open science practices](https://zenodo.org/record/1147025#.YWbeymYzblw) below and the aim to enable you to critically evaluate scientific research. Along this way we will also talk about important topics such as [#DEI](https://twitter.com/hashtag/DEI?src=hashtag_click) and systematic biases. For a rather precise outline of the course, please consult the respective section.
+
+![rainbow os](static/course_graphics/rainbow_os.png)
+
+## The framework and setup
+
+All workshop materials will be provided within the [Jupyter Book](https://jupyterbook.org/intro.html) format you're currently looking at, free for everyone to check and try out, as well as utilize further. The workshop itself will use a mixture of slides, code and other media within presentations, practical hands-on sessions and discussion rounds to enable a holistic introduction paired with firsthand experience. Depending on a given participant's computational resources and infrastructure, we provide multiple ways to participate in the workshop as outlined in the [Setup for the workshop](https://repronim.github.io/dgpa_workshop/setup.html) section.
+
+## Instructors
+
+To provide a holistic introduction into the topic of course_description and its subcomponents, we assembled a stellar team of instructors, i.e. the main team, as well as contributors. You can find the main team below and get further information via clicking on the respective names.
+
+
+
+
+
+
+
+
+
member_name
+
+
+
+
+
+
+
+
+
+```{admonition} How to address one another?
+:class: dropdown
+Provide information on how to address one another during the course.
+```
+
+
+### How to reach the instructors
+
+The contact information of the instructors are as follows:
+
+- Office hours: please contact the team member you would like to talk to via Email
+- E-mail: please follow the links above
+- preferred mode of contact: usually online to save time and effort for everyone
+
+
+
+### Gimme the details
+
+Below you will find important details regarding the course summarized in a compact form. Please consult and familiarize yourself with the information presented there prior to and/or within the first few days of the course.
+
+#### When and where
+
+As this won't be a "classic" course that entails weekly lectures/assignments, etc. but instead utilizes a different outline that is oriented along the research process, we will have sessions with varying content (situated within three main blocks: [introduction/background](https://spark-csd.github.io/course_name/introduction/pages/introduction.html), [project execution](https://spark-csd.github.io/course_name/experimentation/pages/experimentation.html), [project finalization](https://spark-csd.github.io/course_name/finalization/pages/finalization.html)) every now and then. Combined with a strong focus on project work and direct supervision, we will organize meetings as we go with all participants. Thus, please watch out for E-Mails/Discord notifications!
+
+The in-person meetings will take place in [location_name](location_link)!
+
+ View Larger Map
+
+
+#### Can I use my calculator?
+
+For this class you will need frequent access to a computer. None of the analyses that we will be doing will be very intensive, so this does not need to be a modern or "fast" computer. Still, it will need to be running a standard operating system like Windows, Mac OS X, or Linux. Unfortunately, tablets running mobile operating systems (iOS, Android) probably won't work for this purpose. If this is an issue for you, please get in touch with the instructor as soon as possible so that we can try to figure out a solution. Regarding software and installation thereof, please check the next section.
+
+
+
+#### How do I get all the software and do I have to apply for a loan to get it?
+
+Don't worry at all. First, in order to help you get all the software required for the course, a [comprehensive installation instruction](https://spark-csd.github.io/course_name_repository/setup.html) was compiled. In a step-by-step manner it guides you through the installation process, covering several `OS`: `windows`, `macos` and `linux`. Second, everything will be completely free of charge as we will only use publicly available [open-source software](https://en.wikipedia.org/wiki/Open-source_software). Why? Because teaching students via [proprietary software](https://en.wikipedia.org/wiki/Proprietary_software) is just not fair and won't help anyone: students have to obtain licenses or use those from the university (which usually doesn't have enough for everyone), leading to tremendous problems regarding inequity now and in the future. Additionally, [opens-source software](https://en.wikipedia.org/wiki/Open-source_software) can do everything, if not more, what [proprietary software](https://en.wikipedia.org/wiki/Proprietary_software) can and is furthermore usually better supported, tested and documented, creating a fantastic sense of community.
+
+
+
+#### Where is everything?
+
+All course materials (lecture slides, lecture demo notebooks, lab notebooks, homework assignments, etc.) will be available on the [course website](https://spark-csd.github.io/course_name_repository/index.html), i.e. the one you're looking at right now. Everything will be completely open and free to use, thus constituting an [open educational resource](https://en.wikipedia.org/wiki/Open_educational_resources) you are free to explore, enhance and share. Thus, this website and all materials will also remain up for the entire duration of the course and beyond, ideally to the end of the internet. The usage of this resource and the materials therein will be explained at the beginning and throughout the course.
+
+
+
+#### Syllabus and Text
+
+As noted above, this page serves as the syllabus for this course, with the precise outline indicated in the [respective section](https://spark-csd.github.io/course_name_repository/outline.html). This syllabus is subject to change; students who miss class are responsible for learning about any changes to the syllabus.
+
+This course furthermore has an open shared [zotero library](https://www.zotero.org/groups/5553691/course_name_repository) where we add all articles presented/discussed during class.
+
+
+
+
+
+
+
+
+Additional reading material might be added but will always be open & free with students being informed about any addition.
+
+
+
+#### How to get those credits?
+
+As this is a practical lab course/research internship intended to provide you with an introduction to course_description via a mixture of guided and independent work, your assignments and tasks will be rather diverse and quite different from other modules. This is by all means intended and founded on the idea that this course should entail a holistic overview of the respective skills and research process beyond the classic "do this, do that, n=30, do a t-test, tell a story, publish or perish" nonsense. Instead, the goal is to enable you to critically perceive and evaluate research in this fascinating new field, its implementation and its outcomes, regarding both your own work and that of others. The assignments and tasks aim to reflect these aspects and will entail working on research projects, evaluating that of others, reading project-related and general research-related literature and more. The different parts and grading scheme are further outlined below.
+
+##### Exams and Assignments
+
+In general, there will be two classes of assignments and tasks you need to work on in order to (successfully) pass this course: ungraded assessments and a graded report. The first will take place throughout the semester at various time points whereas the latter will entail one interactive research report after the last session.
+
+The ungraded assessments focus on different parts of the research workflow and your active engagement with them:
+
+- reading articles/materials for your project/that are assigned for class (individually or in groups)
+- present a research article (journal club) related to your project (individually)
+- conduct reviews of another participant's project and provide feedback (in groups)
+- prepare a scientific poster showcasing the results of your experiment (individually)
+- maintain a lab notebook with weekly updates (individually)
+- provide all resources in a FAIR manner (individually)
+
+The graded interactive research report aims to assess your ability to bring the different parts of the research workflow together:
+
+- create an interactive research report via a `jupyter notebook`/`jupyter book` in the style of a scientific paper summarizing your experiment (individually)
+
+
+
+##### Late Homework & Extension Policy
+
+If there are `Homework assignments` they will be due `5 days` after a given class. `Homework assignments` must be turned in on the due date in order to receive full credit. `Homework assignment` turned in less than 1 week late will be accepted but the score will be penalized by `10%`. `Homework assignments` later than 1 week will _not_ be accepted.
+
+Late `homework assignments` will also be accepted under _exceptional circumstances_ (e.g., medical or family emergency) and at the discretion of the instructor (e.g. exceptional denotes a rare event) with no penalty. This policy allowing for exceptional circumstances is definitely a right, but courtesy to be used when needed and not abused. Should you encounter such circumstances, simply email assignment to instructor and note "late submission due to exceptional circumstances". You do not need to provide any further justification or personally revealing information regarding the details.
+
+##### Academic Honor Code
+
+You are encouraged to discuss problem sets with classmates and work on them together, but certain written submissions must reflect your own, original work. If you worked with other students on a problem set, please include their names in a statement like "I worked on this homework with XX and YY" on the assignment. If in doubt, ask the instructor.
+
+##### Notice about missed work due to religious holy days
+
+Please notify the instructor of your pending absence at least fourteen days prior to the date of observance of a religious holy day. If you must miss a class, an examination, a work assignment, or a project in order to observe a religious holy day, I will give you an opportunity to complete the missed work within a reasonable time after the absence.
+
+### Student Accommodations
+
+- Please request a meeting as soon as possible to discuss any accommodations.
+- Please notify me as soon as possible if the material being presented in class is not accessible.
+- Please notify me if any of the physical space is difficult for you.
+
+### Code of conduct
+
+This course has a `Code of conduct`. Please inform yourself about the specifics by carefully reading through the [respective section](https://spark-csd.github.io/course_name_repository/CoC.html).
+
+
+
+
+### How to Get Your Question(s) Answered and/or Provide Feedback
+
+It’s great that we have so many ways to communicate, but it can get tricky to figure out who to contact or where your question belongs or when to expect a response. These guidelines are to help you get your question answered as quickly as possible and to ensure that we’re able to get to everyone’s questions.
+
+That said, to ensure that we’re respecting everyone's time and thus will mainly answer questions between normal working hours (M-F 9AM-5PM). The instructors are also going to do their best to stick to these working hours. However, they know that’s not when you may be doing your work. So, please feel free to post messages whenever is best for you while knowing that if you post late at night or on a weekend, you may not get a response until the next weekday. As such, do your best not to wait until the last minute to ask a question.
+
+If you have:
+
+- questions about course content - these are awesome! We want everyone to see them and have their questions answered too, so either use the [hypothes.is](https://web.hypothes.is/) plugin, the `discord` channel, the `e-mail` list or the [GitHub repository](https://github.com/spark-csd/course_name_repository/issues).
+
+- a technical assignment question - come to office hours (or post to `discord`). Answering technical questions is often best accomplished ‘in person’ where we can discuss the question and talk through ideas. However, if that is not possible, post your question to `discord`. Be as specific as you can in the question you ask. And, for those answering, help your classmates as much as you can without just giving the answer. Help guide them, point them in a direction, provide pseudo code, but do not provide code that answers assignment questions.
+
+- been stuck on something for a while (>30min) and aren’t even really sure where to start - Programming can be frustrating and it may not always be obvious what is going wrong or why something isn’t working. That’s OK - we’ve all been there! IF you are stuck, you can and should reach out for help, even if you aren’t exactly sure what your specific question is. To determine when to reach out, consider the 2-hour rule. This rule states that if you are stuck, work on that problem for an hour. Then, take a 30 minute break and do something else. When you come back after your break, try for another 30 minutes or so to solve your problem. If you are still completely stuck, stop and contact us (office hours, post on `discord`). If you don’t have a specific question, include the information you have (what you’re stuck on, the code you’ve been trying that hasn’t been happening, and/or the error messages you’ve been getting).
+
+- questions about course logistics - first, check the [overview](https://spark-csd.github.io/course_name_repository/setup.html) & [syllabus](https://spark-csd.github.io/course_name_repository/outline.html). If you can’t find the answer there, first ask a classmate. If still unsure, post on `discord`.
+
+- something super cool to share related to class or want to talk about a topic in further depth - feel free to post on `discord`, contact the instructors or come to office hours.
+
+- some feedback about the course you want to share anonymously - If you’ve been offended by an example in class, really liked or disliked a lesson, or wish there were something covered in class that wasn’t but would rather not share this publicly, etc., please fill out the anonymous Google Form*
+
+*This form can be taken down at any time if it’s not being used for its intended purpose; however, you all will be notified should that happen.
+
+### Acknowledgements
+
+Several parts of this section are directly taken or adapted from [Alexander Huth's Neuro Data Analysis in Python syllabus](https://github.com/alexhuth/ndap-fa2020) licensed under a [BSD-3-Clause License](https://github.com/alexhuth/ndap-fa2020/blob/master/LICENSE) and [Shannon Ellis' COGS 18: Introduction to Python](https://cogs18.github.io/assets/intro/syllabus.html).
+
From 45c2e51a523c4ef6dd539fa8bf56d29cffe0e320 Mon Sep 17 00:00:00 2001
From: PeerHerholz
Date: Sun, 2 Jun 2024 16:26:01 -0500
Subject: [PATCH 18/33] add outline section
---
course/outline.md | 40 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)
create mode 100644 course/outline.md
diff --git a/course/outline.md b/course/outline.md
new file mode 100644
index 0000000..5168834
--- /dev/null
+++ b/course/outline.md
@@ -0,0 +1,40 @@
+# General outline
+
+Within this course we will course_description. To do so, we will follow a “learning by doing” approach in a tripartite manner. Starting from a [basic introduction (Block I)](https://spark-csd.github.io/course_name/introduction/pages/introduction.html), we will [run actual experiments/analyzes (Block II)](https://spark-csd.github.io/course_name/experimentation/pages/experimentation.html) planned and conducted by you, as well as [communicate/present the obtained results (Block III)](https://spark-csd.github.io/course_name/finalization/pages/finalization.html). Thus, we actively seek out realistic examples and workflows that mimic the lifecycle of real-world projects, trying to present you with both a respective overview and hands-on experience.
+
+![outline](static/course_graphics/course_outline.png)
+
+You can find the course_outline_graphic_template [here](https://docs.google.com/presentation/d/1BaAwOW_54DFVxnyTL6qoIaTzegObnsDIfpr7OKHurio/edit?usp=sharing). Simply create a copy via "Make a copy", adapt it to your needs and download it, placing it in the "course_name_repository/course/static/course_graphics/" directory and name it "course_outline.png".
+
+### When and where do we meet?
+
+As this won't be a "classic" course that entails weekly lectures/assignments, etc. but instead utilizes a different outline that is oriented along the research process, we will have sessions with varying content (situated within three main blocks: [introduction/background](https://spark-csd.github.io/course_name/introduction/pages/introduction.html), [project execution](https://spark-csd.github.io/course_name/experimentation/pages/experimentation.html), [project finalization](https://spark-csd.github.io/course_name/finalization/pages/finalization.html)) every now and then. Combined with a strong focus on project work and direct supervision, we will organize meetings as we go with all participants. Thus, please watch out for E-Mails/Discord notifications!
+
+The in-person meetings will take place in [location_name](location_link)!
+
+ View Larger Map
+
+
+### Schedule
+
+Please see below for our current _optimistic_ schedule. Depending on our progress, potential problems and different forms of learning, content and times might change a bit. Each lecture will be divided into several parts separated by a 5-10 minute break and might constitute a transition from basic to advanced concepts, theoretic to practical sessions and individual to group work. The different parts are roughly indicated in the schedule below like this:
+
+🗓 - important information on date & time
+💡 - input from the instructor
+👩🏽🏫👨🏻🏫 - instructor presents content
+🥼 - research project work
+🧑🏽💻🧑🏾💻 - work on demo data
+🧑🏿🔬👩🏻🔬 - work on own research project
+🖥️ - computational work outside course hours
+✍🏽 - writing outside course hours
+📖 - reading outside course hours
+
+Please click on a given topic either within the table below or the `ToC` on the left to get to the respective materials.
+
+| Date (day/month/year) 🗓 | Topics 💡👩🏽🏫👨🏻🏫 | Project related work 🥼🧑🏿🔬👩🏻🔬 | Tasks for subsequent meeting 🖥️✍🏽📖 |
+|-------------------------|---------------------|-------------------------------|------------------------------------|
+| date_in_day/month/year | topic_name - [topic_short_description](https://spark-csd.github.io/course_name/topic_link.html) | project_related_task | tasks_next_meeting |
+
+You can also find the course calendar with all dates and events below.
+
+
\ No newline at end of file
From dc8952a0a77228681b8a326ebb9be029ba3afabb Mon Sep 17 00:00:00 2001
From: PeerHerholz
Date: Sun, 2 Jun 2024 16:26:11 -0500
Subject: [PATCH 19/33] add index section
---
course/index.md | 223 ++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 223 insertions(+)
create mode 100644 course/index.md
diff --git a/course/index.md b/course/index.md
new file mode 100644
index 0000000..d299cbf
--- /dev/null
+++ b/course/index.md
@@ -0,0 +1,223 @@
+
+
+
+
+# Welcome!
+
+````{margin}
+```{warning}
+These pages are currently under construction and will be updated continuously.
+Please visit these pages again in the next few weeks for further information.
+````
+
+
+
+Hello everyone and welcome to the course page for "course_name", taught within the [add program name](program_link) at [Northwestern University](https://www.northwestern.edu/) during the course_term_year. We're glad to see you here!
+
+
+
+[![Jupyter Book Badge](https://jupyterbook.org/badge.svg)](https://spark-csd.github.io/course_name_repo/index.html)
+[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/spark-csd/mybinder_course_name_repo/HEAD)
+[![Docker Hub](https://img.shields.io/docker/pulls/spark-csd/course_name_repo)](https://hub.docker.com/r/spark-csd/course_name_repo)
+![GitHub repo size](https://img.shields.io/github/repo-size/spark-csd/course_template)
+[![GitHub issues](https://img.shields.io/github/issues/spark-csd/course_name_repo?style=plastic)](https://github.com/spark-csd/course_name_repo)
+[![GitHub PR](https://img.shields.io/github/issues-pr/spark-csd/course_name_repo)](https://github.com/spark-csd/course_name_repo/pulls)
+[![License](https://img.shields.io/github/license/spark-csd/course_name_repo)](https://github.com/spark-csd/course_name_repo)
+
+
+
+
+
+Within these pages, we provide all the information important to follow and conduct the course, including formal aspects, requirements, lecture materials, practicals and so on. This [jupyter book](https://jupyterbook.org/intro.html) will include the used slides and code in a way that they can be explored in an interactive manner. You can navigate through the respective sections via the TOC on the left side and within sections via the TOC on the right side. The three symbols in the top allow to enable full screen mode, link to the underlying [Github repository](github_repository_link) and allow you to download the contents as a pdf or [jupyter notebook](https://jupyter.org/) respectively. Some sections will additionally have a little rocket in that row which will allow you to interactively rerun certain parts of the practicals via cloud computing. Additionally, we support public reviews and comments through an [hypothes.is](https://web.hypothes.is/) plugin with which you can interact on the right side. All of this awesomeness (talking about the infrastructure and resource) is possible through the dedicated and second to none work of the [Jupyter community](https://jupyter.org/), specifically, the [Executable/Jupyter Book](https://executablebooks.org/en/latest/) and [mybinder project](https://mybinder.org/).
+
+
+Traditionally, one way of achieving this is to familiarize students with all parts of the respective processes early on in their studies with an application to real-world problems and questions. More precisely, folks conduct several experiments, provided and self-chosen, within which they perform all or most of the necessary steps of the corresponding research workflow themselves, both in a guided and independent manner. Importantly, all of this will be conducted based on [open science principles](https://en.wikipedia.org/wiki/Open_science). This has several important reasons: addressing the faulty direction science and academia in via changing incentive structures ([open methodology](https://en.wikipedia.org/wiki/Open-notebook_science), [open data](https://en.wikipedia.org/wiki/Open_data), [open access](https://en.wikipedia.org/wiki/Open_access),[open peer review](https://en.wikipedia.org/wiki/Open_peer_review)), enable students to become active and self-sufficient parts of the research and scientific community via the sole utilization of [open-source software](https://en.wikipedia.org/wiki/Open_source) and [open educational resources](https://en.wikipedia.org/wiki/Open_educational_resources), as well as increasing the [diversity and inclusivity of science and academia](https://www.psychologicalscience.org/observer/words-to-action) via the diminution of hurdles and barriers: science by everyone for everyone in an open and welcoming manner.
+
+
+
+As you can see in the `TOC` on the left sidebar, there’s quite a bunch going on here. You may ask: “Oh my, is all of this really necessary?”. Well, it might depend on who you ask but this course and the people conducting it think so and here’s why: creating a structured and holistic way to empirically train students via a complex framework needs time, effort, details, and dedication. Additionally, to increase openness and sustainability, and thus ultimately the success rate of projects, these things need to be prepared and supplied in a way that is findable, accessible, interoperable and re-usable ([FAIR](https://en.wikipedia.org/wiki/FAIR_data)) for as many people as possible.
+This course is therefore designed to provide only `FAIR` content and materials.
+
+You can use the following sections to navigate through the content of the course:
+
+
+::::{card-carousel} 3
+
+:::{card}
+:margin: 3
+:class-body: text-center
+:class-header: bg-light text-center
+:link: https://spark-csd.github.io/course_name_repo/overview.html
+**Overview & procedure**
+^^^
+```{image} https://spark-csd.github.io/course_name_repo/static/course_graphics/course_outline.png
+:height: 100
+```
+
+What's this course about?.
++++
+Explore this section {fas}`arrow-right`
+:::
+
+:::{card}
+:margin: 3
+:class-body: text-center
+:class-header: bg-light text-center
+:link: https://spark-csd.github.io/course_name_repo/outline.html
+
+**General outline**
+^^^
+```{image} https://spark-csd.github.io/course_name_repo/static/course_graphics/course_outline.png
+:height: 100
+```
+
+What aspects are taught?
++++
+Explore this section {fas}`arrow-right`
+:::
+
+:::{card}
+:margin: 3
+:class-body: text-center
+:class-header: bg-light text-center
+:link: https://spark-csd.github.io/course_name_repo/setup.html
+
+**Course setup**
+^^^
+```{image} https://spark-csd.github.io/course_name_repo/static/course_graphics/computing_env.png
+:height: 100
+```
+
+Getting ready for the course.
++++
+Explore this section {fas}`arrow-right`
+:::
+::::
+
+::::{card-carousel} 3
+
+:::{card}
+:margin: 3
+:class-body: text-center
+:class-header: bg-light text-center
+:link: https://spark-csd.github.io/course_name_repo/introduction/introduction.html
+
+**Introduction**
+^^^
+```{image} https://spark-csd.github.io/course_name_repo/static/course_graphics/course_outline.png
+:height: 100
+```
+
+Short description of introduction.
++++
+Explore this section {fas}`arrow-right`
+:::
+
+:::{card}
+:margin: 3
+:class-body: text-center
+:class-header: bg-light text-center
+:link: https://spark-csd.github.io/course_name_repo/experimentation/experimentation.html
+
+**Experimentation**
+^^^
+```{image} https://spark-csd.github.io/course_name_repo/static/course_graphics/course_outline.png
+:height: 100
+```
+
+Short description of experimentation.
++++
+Explore this section {fas}`arrow-right`
+:::
+
+:::{card}
+:margin: 3
+:class-body: text-center
+:class-header: bg-light text-center
+:link: https://spark-csd.github.io/course_name_repo/finalization/finalization.html
+
+**Finalization**
+^^^
+```{image} https://spark-csd.github.io/course_name_repo/static/course_graphics/course_outline.png
+:height: 100
+```
+
+Short description of finalization.
++++
+Explore this section {fas}`arrow-right`
+:::
+::::
+
+::::{card-carousel} 3
+
+:::{card}
+:margin: 3
+:class-body: text-center
+:class-header: bg-light text-center
+:link: https://spark-csd.github.io/course_name_repo/projects.html
+
+**Projects**
+^^^
+```{image} https://spark-csd.github.io/course_name_repo/static/course_graphics/course_outline.png
+:height: 100
+```
+
+The projects of the participants.
++++
+Explore this section {fas}`arrow-right`
+:::
+
+:::{card}
+:margin: 3
+:class-body: text-center
+:class-header: bg-light text-center
+:link: https://spark-csd.github.io/course_name_repo/questionnaires.html
+
+**Questionnaires**
+^^^
+```{image} https://spark-csd.github.io/course_name_repo/static/course_graphics/course_outline.png
+:height: 100
+```
+
+Course content evaluation.
++++
+Explore this section {fas}`arrow-right`
+:::
+
+:::{card}
+:margin: 3
+:class-body: text-center
+:class-header: bg-light text-center
+:link: https://spark-csd.github.io/course_name_repo/CoC.html
+
+**Code of Conduct**
+^^^
+```{image} https://spark-csd.github.io/course_name_repo/static/course_graphics/course_outline.png
+:height: 100
+```
+
+The CoC of this course.
++++
+Explore this section {fas}`arrow-right`
+:::
+::::
+
+## I've got a question!
+
+In case you have any questions or difficulties with the lecture and its materials, please don’t hesitate a single second to get in touch. A great way to do this is to [open an issue](https://github.com/spark-csd/course_name_repo/issues) on the
+GitHub site of the course. Every feedback or idea or you might have is also highly appreciated and valued.
+
+
+
+
+## Acknowledgements
+
+Provide acknowledgements, ie funding sources and people involved in creating the course.
\ No newline at end of file
From 729667d716ac1ad9d17138572b5b3279ce9abff2 Mon Sep 17 00:00:00 2001
From: PeerHerholz
Date: Sun, 2 Jun 2024 16:26:16 -0500
Subject: [PATCH 20/33] add CoC section
---
course/CoC.md | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 58 insertions(+)
create mode 100644 course/CoC.md
diff --git a/course/CoC.md b/course/CoC.md
new file mode 100644
index 0000000..05a5eef
--- /dev/null
+++ b/course/CoC.md
@@ -0,0 +1,58 @@
+# Code of Conduct
+
+Hello 👋,
+
+this course is dedicated to providing an environment where people are kind and respectful to each other, a harassment-free learning experience for everyone, regardless of gender, gender identity and expression, sexual orientation, disability, physical appearance, body size, race, age or religion. We do not tolerate harassment of event participants in any form. Sexual language and imagery is not appropriate for any event venue, including talks. Participants violating these rules may be sanctioned or expelled from the lecture at the discretion of the organizers.
+
+This could really be the end of that code of conduct, but some forms of harassment and negative behavior are fairly hard to identify at first. Please read carefully through the rest of the document to make sure you avoid them. There is also a section to know what to do and expect if you experience behavior that deviates from this code of conduct.
+
+Harassment includes, but _is not limited to_:
+⛔ Verbal comments that reinforce social structures of domination related to gender, gender identity and expression, sexual orientation, disability, physical appearance, body size, race, age or religion.
+⛔ Sexual images in public spaces
+⛔ Deliberate intimidation, stalking, or following
+⛔ Harassing photography or recording
+⛔ Sustained disruption of talks or other events
+⛔ Inappropriate physical contact
+⛔ Advocating for, or encouraging, any of the above behaviour
+⛔ Unwelcome sexual attention
+
+## *Microaggressions*
+Incidents can take the form of “microaggressions,” which is a damaging form of harassment. Microaggressions are the everyday slights or insults which communicate negative messages to target individuals, often based upon their marginalized group membership. Over time, microaggressions can take a great toll on mental and emotional health, and the target’s feeling of belonging in science and academia. The following examples can all be labeled micro-aggressions:
+⛔ Commenting on a woman’s appearance rather than her work;
+⛔ Only directing questions at male colleagues when there are female experts in the room;
+⛔ Telling someone of colour that they “speak such good English”;
+⛔ Forcefully praising meat to an individual with a vegetarian diet;
+⛔ Praising alcoholic drinks to an individual who do not consume them.
+⛔ Exclusion from a group can be a common nonverbal form of microaggression.
+⛔ Microaggressions can be couched in the form of a “compliment,” (e.g. “you’re too attractive to be a scientist”).
+
+## *Respecting differences*
+Participants come from many cultures and backgrounds. We therefore expect everyone to be very respectful of different cultural practices, attitudes, and beliefs. This includes being aware of preferred titles and pronouns, as well as using a respectful tone of voice.
+While we do not assume participants know the cultural practices of every ethnic and cultural group, we expect members to recognize and respect differences within our community. This means being open to learning from and educating others, as well as educating yourself.
+
+## *How to treat each other*
+👍 Be respectful and value each other’s ideas, styles and viewpoints.
+👍 Be direct but professional; we cannot withhold hard truths.
+👍 Be inclusive and help new perspectives be heard.
+👍 Appreciate and accommodate our many cultural practices, attitudes and beliefs.
+👍 Be open to learning from others.
+👍 Lead by example and match your actions with your words.
+
+
+## **Enforcement**
+Participants asked to stop any harassing behavior are expected to comply immediately. Organizers and presenters are also subject to the anti-harassment policy. In particular, they should not use sexualized images, activities, or other material. Event organisers may take action to redress anything designed to, or with the clear impact of, disrupting the event or making the environment hostile for any participants.
+
+## **Reporting**
+If someone makes you or anyone else feel unsafe or unwelcome, please report it as soon as possible to the organizers either in person or by email.
+
+### *Reporting Issues*
+
+Any incident of unacceptable behavior hurts the learning environment for everyone. We are therefore committed to supporting students to access corresponding reporting resources and ensure a supportive environment.
+
+When necessary, an organizer will assist students to file a report at the appropriate university office. Complaints can be filed, without limitation periods, for any incident of harassment that has occurred in the course of university activities, whether on or off-campus.
+
+Also, if you need moral support, feel welcome to ping the organizers in person or by email.
+
+
+## Attribution
+Thanks and credits go the [Montreal Brainhack School]() for providing the CoC, this CoC is based on.
From 9839b2e2aa9a4ae5e5362607ab49f5eb2ad949d7 Mon Sep 17 00:00:00 2001
From: PeerHerholz
Date: Sun, 2 Jun 2024 16:26:32 -0500
Subject: [PATCH 21/33] add introduction section
---
course/experimentation/Readme.md | 0
course/experimentation/pages/experimentation.md | 1 +
course/experimentation/pages/experimentation_1.md | 1 +
3 files changed, 2 insertions(+)
create mode 100644 course/experimentation/Readme.md
create mode 100644 course/experimentation/pages/experimentation.md
create mode 100644 course/experimentation/pages/experimentation_1.md
diff --git a/course/experimentation/Readme.md b/course/experimentation/Readme.md
new file mode 100644
index 0000000..e69de29
diff --git a/course/experimentation/pages/experimentation.md b/course/experimentation/pages/experimentation.md
new file mode 100644
index 0000000..98568e5
--- /dev/null
+++ b/course/experimentation/pages/experimentation.md
@@ -0,0 +1 @@
+# Experimentation
diff --git a/course/experimentation/pages/experimentation_1.md b/course/experimentation/pages/experimentation_1.md
new file mode 100644
index 0000000..bf8d12a
--- /dev/null
+++ b/course/experimentation/pages/experimentation_1.md
@@ -0,0 +1 @@
+# Experimentation - 1
From fc91c746bb17c4121b4ab290940301fa911d9210 Mon Sep 17 00:00:00 2001
From: PeerHerholz
Date: Sun, 2 Jun 2024 16:26:45 -0500
Subject: [PATCH 22/33] add finalization section
---
course/finalization/Readme.md | 0
course/finalization/pages/finalization.md | 1 +
course/finalization/pages/finalization_1.md | 1 +
3 files changed, 2 insertions(+)
create mode 100644 course/finalization/Readme.md
create mode 100644 course/finalization/pages/finalization.md
create mode 100644 course/finalization/pages/finalization_1.md
diff --git a/course/finalization/Readme.md b/course/finalization/Readme.md
new file mode 100644
index 0000000..e69de29
diff --git a/course/finalization/pages/finalization.md b/course/finalization/pages/finalization.md
new file mode 100644
index 0000000..72b4a1f
--- /dev/null
+++ b/course/finalization/pages/finalization.md
@@ -0,0 +1 @@
+# Finalization
diff --git a/course/finalization/pages/finalization_1.md b/course/finalization/pages/finalization_1.md
new file mode 100644
index 0000000..0a1c090
--- /dev/null
+++ b/course/finalization/pages/finalization_1.md
@@ -0,0 +1 @@
+# Finalization - 1
From c9dac273245f613227838f20621843a92cc70e17 Mon Sep 17 00:00:00 2001
From: PeerHerholz
Date: Sun, 2 Jun 2024 16:27:09 -0500
Subject: [PATCH 23/33] add actual introduction section
---
course/introduction/Readme.md | 0
course/introduction/pages/introduction.md | 1 +
course/introduction/pages/introduction_1.md | 1 +
3 files changed, 2 insertions(+)
create mode 100644 course/introduction/Readme.md
create mode 100644 course/introduction/pages/introduction.md
create mode 100644 course/introduction/pages/introduction_1.md
diff --git a/course/introduction/Readme.md b/course/introduction/Readme.md
new file mode 100644
index 0000000..e69de29
diff --git a/course/introduction/pages/introduction.md b/course/introduction/pages/introduction.md
new file mode 100644
index 0000000..e10b99d
--- /dev/null
+++ b/course/introduction/pages/introduction.md
@@ -0,0 +1 @@
+# Introduction
diff --git a/course/introduction/pages/introduction_1.md b/course/introduction/pages/introduction_1.md
new file mode 100644
index 0000000..201cbe5
--- /dev/null
+++ b/course/introduction/pages/introduction_1.md
@@ -0,0 +1 @@
+# Introduction - 1
From bda3eef10fca01261cc045f79c543f9d0ed7478e Mon Sep 17 00:00:00 2001
From: PeerHerholz
Date: Sun, 2 Jun 2024 16:27:23 -0500
Subject: [PATCH 24/33] add template references.bib
---
course/references.bib | 0
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 course/references.bib
diff --git a/course/references.bib b/course/references.bib
new file mode 100644
index 0000000..e69de29
From ad5d4fdcbc1803e2ec33da6c3f3ef155524d47e2 Mon Sep 17 00:00:00 2001
From: PeerHerholz
Date: Sun, 2 Jun 2024 16:27:54 -0500
Subject: [PATCH 25/33] add template graphics
---
.../static/course_graphics/computing_env.png | Bin 0 -> 25554 bytes
.../course_graphics/course_name_logo.png | Bin 0 -> 466506 bytes
.../static/course_graphics/course_outline.png | Bin 0 -> 43331 bytes
course/static/course_graphics/rainbow_os.png | Bin 0 -> 442218 bytes
course/static/experimentation/Readme.md | 0
course/static/finalization/Readme.md | 0
course/static/introduction/Readme.md | 0
course/static/readme.md | 1 +
8 files changed, 1 insertion(+)
create mode 100644 course/static/course_graphics/computing_env.png
create mode 100644 course/static/course_graphics/course_name_logo.png
create mode 100644 course/static/course_graphics/course_outline.png
create mode 100644 course/static/course_graphics/rainbow_os.png
create mode 100644 course/static/experimentation/Readme.md
create mode 100644 course/static/finalization/Readme.md
create mode 100644 course/static/introduction/Readme.md
create mode 100644 course/static/readme.md
diff --git a/course/static/course_graphics/computing_env.png b/course/static/course_graphics/computing_env.png
new file mode 100644
index 0000000000000000000000000000000000000000..857541fb964662a8bb104394ffcdc923bb4c2eaf
GIT binary patch
literal 25554
zcmbrkbyQqI(6r~zOHSF4S;&YfdLuPfC
ziW-kbP)aFp*^nWS8%DVJ+`Y~l=1*H*mfG-mDBsm3uuTfV2n7Z`3G1^rwgQX;p!Z!w
zq>QR2UMT#w45dCS8~-g!`n})u_;d02){b9Kdh<*)33IYcq`T>>xz&psBeSxvUJs^g
zx+H#9C6OU!H9>N3DJ$M4a{S62nDP;=R(Mon@l!0!Z!$
zDW`5uflD4KJ8pQ3XnJb2NFq^HIQHe{Wyd2+BB;YkpI~^P*S8T3
z48dOCOe!q$-jT%18!|YaqPl*}gW!r|?2x0yrxc4>T=YW!FPF^|!6`2WM7bEgEESnXaQUFnp-$9x{
z92QuNC13C;#vgG2lutgH^(W|X%O*1jc?-6g`$WQBvRP9_c{hg{Zc^CB0oSTNw{>t6
z9S|z*ND*8C`21NvE+Qxc^4XmtlN@y*u9H<&$v0LCkT_wFA0<+%&KN|3htu=u%_#%-
zwp_CCVC7dBoqFO|)C?R6hrrb!oIVP6UBV9`$USg6v5kg$3$T@VW)cF486v6JYGzav
z%HwW_&db|PL3JW(vWC=CAJcdY3cosR5GV|8O5c5dr%7fpMkCg;}gER4adkGZ!s5AhaQt8D0+}(6pa)CmI`|-JCuTc4z9qv+s(9q@0npW4(&x
zz8L|GA^5?iu!h7bq>7bNsJ`KPla4Zgq5=2`{vk#+37o58VM|Yy`amI1$^8C1^$8Uj
zjXuR1?M;H@`#16I^l^#8o8NE?QKzh?FsCS|#Fbh01+^k=q;4oA;_C--E^Hh*J&5lq
z?y2svJ^b@UYm4qwaOmKq--3D;J~Hs;3t*zwrv_~+7IL(ZY1^O1A6vpe6k
z%YpOFzV7t?yy-#fAZ-KKUI#g)};aJEi?fUbLQt;057Xf}DefkX(?E(OWUtMEOO(8-9Zr^$3P&V0fTL$JJ$TuJa^vy=3x8yy<@o(-(D2oBTr=3Jf8vKXF>?K$j5x&UQU8^
zw1J`-(>9sdiahJeLz{W^d4hMgU(BL)`Rbgu3ApWlQ2jvqp>yJSQm|^?_M@%y0(7zA
zHRGXsQ|R@@bL`CK(tCgBi26!<&t)}ZpL9=fy{+f5KDIh`q-1C>ygJ%G=9FmN+Q!F~
z%8T-`ki3g!#y(`-w-f6{=mqsv@Wl_Q837l`2F+by*f$ZR+Ee-%&;#!gKn&j&r1_cm
zGjU*RP*tEu*LByeNTnzOWrir30|_r;CTS)?o?Twu#O{Qf;fvvPH)g0YL`3ei*&@LXDJS&-h=Y=k#?$hO^E+?Kxb5~$^bM(??Nu$Iwyd+spc;U}x8UDDWB?WSj2K9O4+oHE%NgRyS48WqutS
zP1xpWW8dWFDt^*r0|E7WVjOJ*Ra@%Cv=J$QC%*O2HgHub3wd3QR
z;gi~vc_6S0wd;*xE-39xN&o9wUHia&!2R#boUlOg+5EjtR)?xP)6dRb4}osMD8V|Y
z$dMl-T=5bjog!|fuHFa78&l&`C&(~MW)k{H)2GixqX8#S&U)MnI%)mAxcIc+O!)mgNj%hXl9ikKVh
z=85V#(dOE97&W~d^afjtuXhhC=KNMD)<8bSGyTb)Z4U=>y>dkvWL$;Z&M&<$We)ZG
zyXB)fKO~!+?d8@yD<^-{I%F(1^({{x4<9SInw;`xHzHy9TWeuPXSB
z-QOQ%rwWpKEqZ16);^ocvDdfMAzIQ~?_1+Fy8bY2(p%v6G?4HT_PVV8-f6dJ-`IKL
z-xbh@T!y?yMk1iy{0ES
z>>8WZy3OgX*AI+hJ`=bFm?DlW$G}b0tRD9--?4D0!I!_O7_JtaC_?@Kg8ux44&vRHuSXt!kLPA8T
zSK(J>yY*XpH!N%hc3AjWn9?2}vppI8yJB{CV9%`31nf=Veu2%24m3yazpMgB(`2K6
zeKH(NzpujL^vEs={St|Ey9RCx
z3aW#M5tWjH#wx~+
zrlxjI7WU4P7sLwC0u+#>mJ00iNa1d4W9P)@E=ctc3O;E1Z!rrM#Xm@#tp%wxl=p
z!Q|v&=WOWCWasqmpN;&x9WhfUV@FGnv!%Tq#ou-fjqF{V1*xe13i{9U&wiS^TmFwE
zJEwoC1yzvcZw(6@Gb_t~+J>?U{4M2Ev~)MM(Gs(?g^n3ihR{b2R)K%e|9@)!N8*2R
zYW^1|566FV{#VWa$*JaK>L_Y&3l-@s^grhM7xRBt{)Ck;IYHn*w*f;^MP`cOVq9}8830l+u3!B^c8zdc=^a~q=>6toTALUaY?U~)Y
z@MCoC*7o3kET&~GKA)Vpt+(Iqj%vIbQ&OYC2K$TrLIHRe0R~X$DwuKMP+ID`g8?hfBOj#gQV7k^bt{egiwIM0a3J79crdJH
zzdQP3WY%72;IeSLj$tn+Z%`AWC;W1VQ&_a`XeDHH?GZya4;
z++nkqEwLIfCOM)St=1P~A1ttGuc6QDsuJiI*y$hq<1*tr2B)-zkiU+!j0-2EPnjBGN
zCzf94X9K^>=sa0lZ+)owy!E|p?VfXPPs_Bs0{?y-sTz+L6IwCQXWeb=
z&e+Mm#(=Ew7#TdTvjl=8l9`|1j{owW?)>B-qK1YK#7jP2zzzZV^7=#|xg0YL&yfj;
zIdr@%d5f067r|BpzsUpftu2hn5nF;%m=oEo)h`Za(!Sgt%1Fgi7ciB`t3;);k)Be(
z>9C6PU@x?b%I#yvh+C6s96}iP))YnG|}Z
zsrRbQCiGTQ-$|+E(>YdZivh@AwrX?G*P@pjibfXeLwPZGByNujn5@;ONt<%oy>640
zOXPk(r{F$&zu~q^eYl7fZF8HZZ~D2?;t_PR-XXV6BPndjZjx)`aiLf+XWK3CHPUP(
zcX_^ga*orw7lLO!lM4=iqe72`#h_7EXJIVx1OgXcCIeVRGfn`X6QQ}
zV;r|fWk&g&3kzvznBfwF+T13a8V~Q5>?YSw*TTJ$0~%MB2C?J$An0FApgf7Zxoyg?eepV#j1p-m%bh
zLIk}gy0Z99Zw-ANR-Mw`Pni$fEW8fdT8}CZ9K;tp^a&|AL0EoGlWJ{^(#I;(STtG>;tQ`Z`&Fcut7v2*Hp5>w*555x%XkcJ)ae4V>+4Hr98nV$