dsa-ou / algoesup

Algorithmic essays support: examples, templates, guides, library
https://dsa-ou.github.io/algoesup/
BSD 3-Clause "New" or "Revised" License
1 stars 0 forks source link
algorithms data-structures

Algorithmic essays support

This repository contains resources to support the creation of algorithmic essays, which we define as short reports, with code, that present at least two different approaches to solving a computational problem and evaluate each approach against some criteria, like efficiency, simplicity, ease to modify.

Algorithmic essays may help the development of professional skills, like writing clearly and succinctly, giving and acting on feedback, producing clean code, and working collaboratively.

We created these resources:

The guides are on our documentation site and the rest is in our Deepnote project, which you can copy to your Deepnote account.

If you want to adapt this material to your course, this repository has the guides in the docs/ folder and the rest in the Deepnote/ folder.

Development

This repository is developed with poetry. After installing poetry, enter poetry install to create the development environment.

To preview the documentation that will be in GitHub Pages, enter poetry run mkdocs serve.

The documentation must be written in strict Markdown: blank line before a new list; line breaks are two spaces; indentation is 4 spaces.

To build the documentation in the docs/ folder from the src/docs files, first enter poetry install to update your development environment, then enter poetry run mkdocs build. (Don't use mkdocs gh-deploy because it pushes untracked and other files, without giving you a chance to check what will be pushed.)

When a new version of the library is to be put on PyPI:

  1. Run again the notebooks, to test the library.
  2. Re-generate the docs.
  3. Bump the version in pyproject.toml and Deepnote/Dockerfile, so that a new docker image can be built.
  4. Commit with a tag indicating the new version.

Licences

The code and text in this repository are Copyright © 2023–2024 by The Open University, UK. The code is licensed under a BSD 3-clause licence. The text is licensed under a Creative Commons Attribution 4.0 International Licence.