Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
add environment information, nbviewer, mybinder
  • Loading branch information
fs446 committed Apr 2, 2021
1 parent cfc9e32 commit 5edb4e8
Showing 1 changed file with 35 additions and 25 deletions.
60 changes: 35 additions & 25 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,63 +1,73 @@
# signals-and-systems-exercises

## Tutorial

**Continuous- and Discrete-Time Signals and Systems - A Tutorial with Computational Examples**

This tutorial accompanies the lecture [Continuous-Time and Discrete-Time Signals and Systems - Theory and Computational Examples](https://github.com/spatialaudio/signals-and-systems-lecture). The lecture and the tutorial are designed for International Standard Classification of Education (ISCED) level 6.

Juypter notebooks can be accessed with the webserver services

- **dynamic** version using **mybinder**: https://mybinder.org/v2/gh/spatialaudio/signals-and-systems-exercises/output?filepath=index.ipynb
- **static** version using **nbviewer**: https://nbviewer.jupyter.org/github/spatialaudio/signals-and-systems-exercises/blob/output/index.ipynb

Sources (tex, ipynb) can be found at github
- https://github.com/spatialaudio/signals-and-systems-exercises

Lecture and tutorial are designed for International Standard Classification of Education (ISCED) level 6.
## Anaconda Environment

## Lecture
The [Anaconda distribution](https://www.anaconda.com/distribution/) is a very convenient solution to install a required environment, i.e. to have access to the Jupyter Notebook renderer with a Python compiler on a personal computer. It is very likely that a very recent installation of Anaconda already delivers all required packages just using the `root` environment. We actually do not need very special packages. However, if `root` is not working immediately, creating and activating a dedicated environment `mydsp` might be useful. Do the following steps

This Jupyter notebook based tutorial using Python is accompanying the lecture
- get at least python 3.8x, numpy, scipy, matplotlib, notebook, jupyterlab, ipykernel, the other packages are very useful tools for convenience

**Continuous-Time and Discrete-Time Signals and Systems - Theory and Computational Examples**
`conda create -n mydsp python=3.8 pip numpy scipy matplotlib notebook jupyterlab pydocstyle pycodestyle autopep8 flake8 ipykernel nb_conda jupyter_nbextensions_configurator jupyter_contrib_nbextensions`

- https://github.com/spatialaudio/signals-and-systems-lecture
- activate this environment with

Lecture and tutorial are designed for International Standard Classification of Education (ISCED) level 6.
`conda activate mydsp`

- Jupyter notebook renderer needs to know that we want to use the new Python environment

## German Version
`python -m ipykernel install --user --name mydsp --display-name "mydsp"`

We are in the design process of a very detailed 12 units tutorial to support remote learning for our students within COVID-19 era, thus the initial version is in German. Translations to English are scheduled ASAP.
- get into the folder where the DSP exercises are located, e.g.

Please see the LaTex main file `tutorial_latex_deu/sig_sys_ex.tex`.
There are several graphics included, which are created by the provided Jupyter notebooks. These have an ID with hex numbers in file name so that notebooks can be linked to the exercises within the tex project.
`cd my_signals_and_systems_exercises_folder`

We might wish to compile all notebooks at once, then we can use:
- start either a Jupyter notebook or Jupyter lab working environment via a local server instance by either

`jupyter notebook` or `jupyter lab`

If the above steps still lead to problems, the following lines created the environment `mydsp`
- using `conda 4.9.2`
- `conda create -n mydsp python=3.8.6 pip=20.2.4 numpy=1.19.4 scipy=1.5.3 matplotlib=3.3.3 jupyter=1.0.0 notebook=6.1.5 jupyterlab=2.2.9 pydocstyle=5.1.1 pycodestyle=2.6.0 autopep8=1.5.4 flake8=3.8.4 ipykernel=5.3.4 nb_conda=2.2.1 jupyter_nbextensions_configurator=0.4.1 jupyter_contrib_nbextensions=0.5.1`
- `pip install soundfile`

## German Version

We are in the design process of a very detailed 12 units tutorial to support remote learning for our students within COVID-19 era, thus the initial version is in German. Translations to English are scheduled ASAP. Please see the LaTex main file `tutorial_latex_deu/sig_sys_ex.tex`. There are several graphics included, which are created by the provided Jupyter notebooks. These have an ID with hex numbers in file name so that notebooks can be linked to the exercises within the tex project. We might wish to compile all notebooks at once, then we can use
`python3 -m nbconvert --ExecutePreprocessor.kernel_name="mydsp" --execute --inplace *.ipynb **/*.ipynb **/**/*.ipynb`

## License

- Creative Commons Attribution 4.0 International License (CC BY 4.0) for text/graphics
- MIT License for software

## Referencing

Please cite this open educational resource (OER) project as

Frank Schultz,
*Continuous- and Discrete-Time Signals and Systems - A Tutorial with Computational Examples*,
University of Rostock,
https://github.com/spatialaudio/signals-and-systems-exercises,
Either: short SHA of the master branch commit to be cited. Year of commit.
Or: zenodo.org DOI. release year of DOI. (TBD)

## Versions / Tags / Branches

- summer term 2020 version: https://github.com/spatialaudio/signals-and-systems-exercises/releases/tag/v0.1
- we use the branch `master` for developing
- we use the branch `output` to provide notebooks with rendered output. **Note**, that we will hard-reset this branch from time to time when updates are being made. So, please don't rely on commits from this branch!

## Referencing

Please cite this open educational resource (OER) project as
*Frank Schultz, Continuous- and Discrete-Time Signals and Systems - A Tutorial Featuring Computational Examples, University of Rostock* with ``main file, github URL, commit number and/or version tag, year``.

## Authorship

University of Rostock:

- Frank Schultz (concept, design, main author)
- Till Rettberg (concept, design)
- Sascha Spors (proof reading, concept)
- Till Rettberg (concept, design)
- Matthias Geier (proof reading, technical advisor)
- Vera Erbes (proof reading)

0 comments on commit 5edb4e8

Please sign in to comment.