Skip to content

Commit

Permalink
Merge pull request #161 from innovationOUtside/pr160-sync-md2ipynb
Browse files Browse the repository at this point in the history
Pr160 sync md2ipynb
  • Loading branch information
psychemedia committed Jul 31, 2021
2 parents d5db740 + 38c6993 commit 32ce6c6
Show file tree
Hide file tree
Showing 122 changed files with 7,150 additions and 13,516 deletions.
49 changes: 49 additions & 0 deletions .github/workflows/deployment.yml
@@ -0,0 +1,49 @@
name: Deployment

on:
push:
branches: [ default ]

jobs:
build_and_deploy:
runs-on: ubuntu-20.04

steps:
- uses: actions/checkout@v2

- name: Install Base Dependencies
run: |
sudo apt-get update
sudo apt-get install python3-venv
pip3 install poetry git+https://github.com/mmh352/ou-container-builder.git
- name: Generate the Dockerfile
run: |
ou-container-builder --no-build
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1

- name: Docker meta
id: meta
uses: docker/metadata-action@v3
with:
images: mmh352/tm129-robotics-21j
flavor: |
latest=true
tags: |
type=sha
- name: Login to DockerHub
uses: docker/login-action@v1
with:
username: mmh352
password: ${{ secrets.DOCKERACCESSTOKEN }}

- name: Build and push the Docker image
uses: docker/build-push-action@v2
with:
pull: false
push: true
tags: ${{ steps.meta.outputs.tags }}
context: .
1 change: 1 addition & 0 deletions .gitignore
Expand Up @@ -22,3 +22,4 @@ nbtutor/
*.pyc
T176*
Daniel*
.vscode
3 changes: 2 additions & 1 deletion .jupyter/nbconfig/notebook.json
Expand Up @@ -4,5 +4,6 @@
"unbind": [
]
}
}
},
"last_modified_check_margin": 3
}
59 changes: 59 additions & 0 deletions ContainerConfig.yaml
@@ -0,0 +1,59 @@
module:
code: TM129-Robotics
presentation: 21J
type: jupyter-notebook
base: "3.7"
packages:
apt:
- build-essential
- zip
- unzip
- libcairo2
- aspell
- hunspell
- fonts-humor-sans
pip:
- nbev3devsim>=0.0.9
- ou-tm129-py>=0.0.8
- git+https://github.com/ouseful-PR/Hand-Written-Digit-Recognition.git
- git+https://github.com/innovationOUtside/nb_tensorflow_playground_serverproxy.git
- git+https://github.com/innovationOUtside/nb_tensorspace_server_proxy.git
- git+https://github.com/innovationOUtside/serverproxy_convnet_mnist.git
- git+https://github.com/innovationOUtside/serverproxy_tfjs_demos.git
- git+https://github.com/innovationOUtside/nb_cell_diff.git
- git+https://github.com/innovationOUtside/nb_cell_dialog.git
- git+https://github.com/innovationOUtside/durable_rules_magic.git
content:
- source: content
target: content
overwrite: never
- source: .jupyter
target: .jupyter
overwrite: always
scripts:
build:
- commands: |
pip3 install --index-url https://google-coral.github.io/py-repo/ tflite_runtime
- commands: |
jupyter contrib nbextension install
jupyter nbextensions_configurator enable
jupyter nbextension enable --sys-prefix skip-traceback/main
jupyter nbextension enable --sys-prefix collapsible_headings/main
jupyter nbextension enable --sys-prefix highlighter/highlighter
jupyter nbextension enable --sys-prefix spellchecker/main
git clone https://github.com/uclixnjupyternbaccessibility/accessibility_toolbar.git
jupyter nbextension install accessibility_toolbar
jupyter nbextension enable --sys-prefix accessibility_toolbar/main
rm -rf accessibility_toolbar
jupyter serverextension enable --py --sys-prefix nbzip
jupyter nbextension install --py --sys-prefix nbzip
jupyter nbextension enable --py --sys-prefix nbzip
jupyter nbextension install --py --sys-prefix nbtutor
jupyter nbextension enable --py --sys-prefix nbtutor
jupyter nbextension install --py --sys-prefix jupyter_wysiwyg
jupyter nbextension enable --py --sys-prefix jupyter_wysiwyg
31 changes: 31 additions & 0 deletions Notes.md
@@ -0,0 +1,31 @@
01
==

* Somewhere in this section students should be informed that removing a file and then restarting the container will cause the file to be reset to the initial state.

01.2
----

* cell_execution_status not installing


01.5
----

* There are a number of "Click the arrow in the sidebar or run this cell to reveal the optional activity." where the optional stuff is already shown. Unclear what to do here.

06
==

06.1
----

* The ultrasonic sensor is not showing for me in the chart view

07
==

07.1
----

* 14x14 model is trained on sklearn 0.23.2, but now running 0.24.2
30 changes: 16 additions & 14 deletions content/.md/README_FIRST.md

Large diffs are not rendered by default.

54 changes: 26 additions & 28 deletions content/00_FOR_VLE/.md/Section_00_01_Introduction.md

Large diffs are not rendered by default.

66 changes: 39 additions & 27 deletions content/00_FOR_VLE/Section_00_01_Introduction.ipynb

Large diffs are not rendered by default.

42 changes: 21 additions & 21 deletions content/00_NOTES_FOR_TUTORS/.md/GETTING_STARTED.md
Expand Up @@ -6,8 +6,8 @@ jupyter:
text_representation:
extension: .md
format_name: markdown
format_version: '1.2'
jupytext_version: 1.6.0
format_version: '1.3'
jupytext_version: 1.11.4
kernelspec:
display_name: Python 3
language: python
Expand All @@ -18,13 +18,13 @@ jupyter:
---

<!-- #region slideshow={"slide_type": "slide"} -->
# Getting Started
# Getting started

Welcome to the TM129 Robotics block practical activities.
<!-- #endregion -->

<!-- #region slideshow={"slide_type": "slide"} -->
The practical activities are delivered through a new environment, *RoboLab*, that replaces the *RobotLab* application used in presentations priort to 20J. *RoboLab* is an example of an `Open Computing Lab (OCL)` environment configured specifically to support the TM129 Robotics activities.
The practical activities are delivered through a new environment, *RoboLab*, that replaces the *RobotLab* application used in presentations prior to 2020J. *RoboLab* is an example of an `Open Computing Lab (OCL)` environment configured specifically to support the TM129 Robotics activities.
<!-- #endregion -->

<!-- #region slideshow={"slide_type": "slide"} -->
Expand All @@ -36,23 +36,23 @@ To install the environment, use the installation instructions that are provided
<!-- #endregion -->

<!-- #region tags=["alert-danger"] -->
During the production process, and between module presentations, the Docker image used to distribute the robotics activity software may have been updated since you last used it. The online MyBinder run version of the environment will use the latest version of the environment as a matter of course. If you have previously downloaded the Docker container image to your own computer, you should regularly check to see whether it needs updates by running the command: `docker pull ousefuldemos/tm129-robotics2020:latest`.
During the production process, and between module presentations, the Docker image used to distribute the robotics activity software may have been updated since you last used it. The online MyBinder <!-- JD: is MuyBinder still being used? --> run version of the environment will use the latest version of the environment as a matter of course. If you have previously downloaded the Docker container image to your own computer, you should regularly check to see whether it needs updates by running the command: `docker pull ousefuldemos/tm129-robotics2020:latest`.
<!-- #endregion -->

<!-- #region slideshow={"slide_type": "slide"} -->
## The Jupyter Notebook Environment
## The Jupyter notebook environment

The teaching and learning materials used to support the activities are provided as Jupyter notebooks.
<!-- #endregion -->

<!-- #region slideshow={"slide_type": "skip"} -->
Jupyter notebooks have been used deliver practical activities in *TM351 Data Management and Analysis*, the OU produced FutureLearn/OpenLearn unit *Learn to Code for Data Analysis*, materials which are also used in *S818 Space Science*, and to support a brief, optional set of activities in TM112.
Jupyter notebooks have been used to deliver practical activities in TM351 *Data management and analysis*, the OU-produced FutureLearn/OpenLearn unit *Learn to Code for Data Analysis*, materials which are also used in S818 *Space science*, and to support a brief, optional set of activities in TM112.

They will also be used in several courses currently in production including *M269 Algorithms*, *TM358 Machine Learning* and *M348 Linear Models*.
They will also be used in several modules currently in production including M269 *Algorithms, data structures and computability*, TM358 *Machine learning and artificial intelligence* and M348 *Applied statistical modelling*.
<!-- #endregion -->

<!-- #region slideshow={"slide_type": "slide"} -->
Originally developed to support computational research activities, Jupyter notebooks provide a cell based web-based read-write-execute document editor that blends rich text, executable code and code outputs.
Originally developed to support computational research activities, Jupyter notebooks provide a cell-based web-based read-write-execute document editor that blends rich text, executable code and code outputs.
<!-- #endregion -->

<!-- #region slideshow={"slide_type": "fragment"} -->
Expand All @@ -67,7 +67,7 @@ def sayHello():
<!-- #endregion -->

<!-- #region slideshow={"slide_type": "slide"} -->
Code is executed in a "kernel" shell environment running on a backend server.
Code is executed in a kernel shell environment running on a backend server.
<!-- #endregion -->

<!-- #region slideshow={"slide_type": "skip"} -->
Expand All @@ -87,7 +87,7 @@ sayHello()
```

<!-- #region slideshow={"slide_type": "slide"} -->
## Using Notebooks to Support Learning
## Using notebooks to support learning

The read-write-execute nature of Jupyter notebooks provides us with a medium that can be used to develop a wide range of active learning materials. Students are encouraged to take ownership of the notebooks, use them as guided materials, as well as in a curiosity driven, exploratory way, and annotate them as they would print materials.
<!-- #endregion -->
Expand All @@ -97,37 +97,37 @@ For example, students can:
<!-- #endregion -->

<!-- #region slideshow={"slide_type": "fragment"} -->
- run simple interactive applications in the notebook;
- run simple interactive applications in the notebook
<!-- #endregion -->

<!-- #region slideshow={"slide_type": "fragment"} -->
- run provided code examples and inspect code outputs;
- run provided code examples and inspect code outputs
<!-- #endregion -->

<!-- #region slideshow={"slide_type": "fragment"} -->
- edit and run their own code and produce their own code outputs;
- edit and run their own code and produce their own code outputs
<!-- #endregion -->

<!-- #region slideshow={"slide_type": "skip"} -->
- edit the course text, from fixing minor typos as they work through the materials, to annotating the materials with their own comments and clarifications;
- edit the module text, from fixing minor typos as they work through the materials, to annotating the materials with their own comments and clarifications
<!-- #endregion -->

<!-- #region slideshow={"slide_type": "skip"} -->
- add predictions about what they expect a code fragment to do when it is executed, record their observations when it does, and reflect on how well their predictions matched their observations, and what they learned as a result.
<!-- #endregion -->

<!-- #region slideshow={"slide_type": "slide"} -->
## Using Notebooks to Support Direct Teaching / Tutorials
## Using notebooks to support direct teaching and tutorials

The Jupyter notebook environment we have provided includes a slideshow extension, [RISE](https://rise.readthedocs.io/en/stable/), that allows you to turn individual Jupyter notebooks into interactive slideshow presentations.
<!-- #endregion -->

<!-- #region slideshow={"slide_type": "skip"} -->
As with the notebooks themselves, each slide includes editable text and code cells, can display interactive applications, and can be used to execute code fragments and displaying the resulting code output (including error messages...).
As with the notebooks themselves, each slide includes editable text and code cells, can display interactive applications, and can be used to execute code fragments and display the resulting code output (including error messages...).

Notebooks are configured as slides through the addition of cell tags that control whether, and how, each cell in the notebook is to be treated in presentation mode.

Several of the notebooks, including this one, have been marked up as presentations. To run the slideshow, click once on the top cell in the notebook to select it as the starting point from the presentation, then click on the *Enter/Exit RISE Slideshow* icon (it looks like a bar chart) on the notebook toolbar.
Several of the notebooks, including this one, have been marked up as presentations. To run the slideshow, click once on the top cell in the notebook to select it as the starting point of the presentation, then click on the *Enter/Exit RISE Slideshow* icon (it looks like a bar chart) on the notebook toolbar.
<!-- #endregion -->

<!-- #region slideshow={"slide_type": "slide"} -->
Expand All @@ -139,11 +139,11 @@ For example, this notebook supports the presentation [chalkboard](https://rise.r
<!-- #endregion -->

<!-- #region slideshow={"slide_type": "skip"} -->
## What Next?
## What next?

If you are not familiar with Jupyter notebooks, please spend some time familiarising yourself with them.

We believe they provide a powerful tool to support teaching and learning and it's still early days for us in finding out how to make most effective use of them.
We believe they provide a powerful tool to support teaching and learning and its still early days for us in finding out how to make most effective use of them.

If you have any ideas anout how we can imporve our current use of the notebooks, or make more effective use of them, please let us know.
If you have any ideas about how we can improve our current use of the notebooks, or make more effective use of them, please let us know.
<!-- #endregion -->

0 comments on commit 32ce6c6

Please sign in to comment.