Education Technology

Hashtags: #EdTech, #EduTech

STEM

STEM (Science, Technology, Engineering, and Mathematics) is a broad field of R&D fields.

Why STEM?

  • STEM combines fields for holism

  • STEM combines fields for allocation efficiency

  • STEAM includes Art & Design

Why CS?

Publishing

https://en.wikipedia.org/wiki/Publishing

GitHub Pages

GitHub Pages serves webpages from Git branches.

  • GitHub Pages serves from the gh-pages branch of project repositories

  • GitHub Pages serves from the master branch of user and organization repos

  • GitHub Pages is backed by a CDN

  • GitHub Pages get URLs like: https://wrdrd.github.io/

  • GitHub Pages can have URLs like: https://wrdrd.com/

    • Adding a ./CNAME file to a repo causes GitHub Pages to redirect URLs to the CNAME (e.g. https://wrdrd.com/)

    • If the DNS domain name does not resolve, GitHub Pages still redirects to the address in the ./CNAME file

  • Pgs can also serve webpages from Git branches like gh-pages and master

GitLab Pages

ReadTheDocs

ReadTheDocs is a free and Open Source web service for publishing Sphinx documentation sets which functions like a Continuous Integration build server and artifact publisher.

Self Directed Learning

Report Process:

Online Courses

Class Central

Class Central aggregates lists of Online Courses.

Udacity

Udacity is a platform for Online Courses.

Jupyter and Learning

Jupyter Project is great for learning and education.

Learning Topics:

Jupyter and Reproducibility

Jupyter Notebook, Open Science, and Reproducibility.

Lecture notes (in IPython Notebook format) on
Reproducible Science And Modern Scientific Software
“Ten Simple Rules for Reproducible Computational Research”

Rule 3: Archive the Exact Versions of All External Programs Used

  • [ ] List required Packages and extensions

  • [ ] List instaleld Packages and extensions

    • Pip: pip freeze

    • Conda: conda env export

    • Dpkg: dpkg-query -l, dpkg --get-selections, wajig list-installed

  • [ ] List reference and other maybe supported OS

  • [ ] List reference and other maybe supported platforms

    • CPU: i386, i686, x86-64, ARMv

    • GPU

    • RAM

    • osquery

    • Salt Grains

  • [ ] Generate complete machine image (Backup, Restore, Virtualization)

    • Machine image process:

      • [ ] Backup: Take snapshot

      • [ ] Post-process: compress, add metadata, test decompression

      • [ ] Archive: share/store/backup/upload/verify

    • Machine Imaging Tools:

      • clonezilla (backup and restore partitions from CD/DVD, LAN, HTTP, SSH, PXE)

      • bup (Git-like backups for very many and very large files)

      • rsync, rsnapshot, rdiff

    • Virtualization Machine Imaging Tools

Jupyter and TDD

nbgrader

Jupyter notebooks can be submitted and centrally graded with nbgrader.

Note

While it’s possible to run tests of all code cells in a Jupyter notebook programmatically with runipy, it’s usually preferable to factor testable code into a module and a package (e.g. Python Package, Conda package) and then reference those tested functions from within a Jupyter notebook.

JupyterHub Servers

Knowledge Engineering

See: Knowledge Engineering

Linked Curricula Graphs