Skip to content

Commit

Permalink
Update essays, change all DeepNote to Deepnote
Browse files Browse the repository at this point in the history
  • Loading branch information
densnow committed Jan 22, 2024
1 parent c652a91 commit 67d837b
Show file tree
Hide file tree
Showing 23 changed files with 1,533 additions and 1,585 deletions.
550 changes: 0 additions & 550 deletions DeepNote/example-two-sum-2.ipynb

This file was deleted.

990 changes: 0 additions & 990 deletions DeepNote/example-two-sum-3.ipynb

This file was deleted.

File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
525 changes: 525 additions & 0 deletions Deepnote/example-two-sum-2.ipynb

Large diffs are not rendered by default.

963 changes: 963 additions & 0 deletions Deepnote/example-two-sum-3.ipynb

Large diffs are not rendered by default.

File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,15 @@ We created these resources:
- A **library** of helper functions to easily test functions and measure their run-times.

The guides are on our [documentation site](https://dsa-ou.github.io/algoesup) and
the rest is in our [DeepNote project](https://deepnote.com/workspace/lpsae-cc66-cd5cf5e4-ca6e-49d8-b6ee-dbbf202143d3/project/Algorithmic-Essays-acd23b74-5d63-4ef4-a991-3b8a049ddf6b/notebook/example-jewels-21dfeb1e2a8c4abd8ffb5d9ab40bef40),
which you can copy to your DeepNote account.
the rest is in our [Deepnote project](https://deepnote.com/workspace/lpsae-cc66-cd5cf5e4-ca6e-49d8-b6ee-dbbf202143d3/project/Algorithmic-Essays-acd23b74-5d63-4ef4-a991-3b8a049ddf6b/notebook/example-jewels-21dfeb1e2a8c4abd8ffb5d9ab40bef40),
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.
the guides in the `docs/` folder and the rest in the `Deepnote/` folder.

## Development
If you want to contribute to this repository, create a local virtual environment,
preferably with Python 3.10 for compatibility with DeepNote, and install the software:
preferably with Python 3.10 for compatibility with Deepnote, and install the software:
```bash
python3.10 -m venv venv
. venv/bin/activate
Expand All @@ -41,8 +41,8 @@ Bundler is usually automatically installed during the Ruby installation.
GitHub recommends to regularly do `bundle update github-pages` to ensure that
the local site preview looks like on GitHub Pages.

After accepting a commit to folder `DeepNote/`, the owners will upload the
updated files to the DeepNote project linked above.
After accepting a commit to folder `Deepnote/`, the owners will upload the
updated files to the Deepnote project linked above.

## Licences

Expand Down
2 changes: 1 addition & 1 deletion docs/_config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ nav_external_links:
- title: GitHub repository
url: https://github.com/dsa-ou/algoesup
opens_in_new_tab: true
- title: DeepNote project
- title: Deepnote project
url: https://deepnote.com/workspace/lpsae-cc66-cd5cf5e4-ca6e-49d8-b6ee-dbbf202143d3/project/Algorithmic-Essays-acd23b74-5d63-4ef4-a991-3b8a049ddf6b
opens_in_new_tab: true

Expand Down
6 changes: 3 additions & 3 deletions docs/deepnote-how-to.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ If you have logged out, to log back in you need to verify your email again:

1. Go to the [sign-in page](https://deepnote.com/sign-in).
2. Enter your email. Click the CAPTCHA button. Click **Continue with email**.
3. You will receive an email from DeepNote with a link. Click on it.
3. You will receive an email from Deepnote with a link. Click on it.

## Workspace operations
Before any of the following operations, you must change from project view to workspace view:
Expand All @@ -34,7 +34,7 @@ Before any of the following operations, you must change from project view to wor

You will now see a list of the projects in your workspace:
![Workspace view](workspace-view.png)
Some projects were automatically added by DeepNote when creating your workspace.
Some projects were automatically added by Deepnote when creating your workspace.

After you completed the desired workspace operations, click in the side panel
on the project you want to work next.
Expand Down Expand Up @@ -107,7 +107,7 @@ To run all cells, click **Run notebook** in the top right corner of the notebook

{: .note}
The first time you run code, it will take some time, because
DeepNote must first start a server with the necessary software.
Deepnote must first start a server with the necessary software.

### Add a cell
To insert a cell between two existing cells:
Expand Down
12 changes: 6 additions & 6 deletions docs/deepnote-reference.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ top, the sections are:
- **Recents** - Projects listed in order of most recently opened.
- **Private projects** - A list of private projects, which only you have access to.
Other workspace members can't see private projects.
- **Published apps** - This section shows any apps you have published. In DeepNote,
- **Published apps** - This section shows any apps you have published. In Deepnote,
an app is a notebooks in which some blocks have been hidden to
abstract away technical details. This may be useful to present your findings to
stakeholders with non-technical backgrounds.
Expand Down Expand Up @@ -98,7 +98,7 @@ manage workspace members.

## Cells

Cells (called 'blocks' in DeepNote) are the divisions within each notebook.
Cells (called 'blocks' in Deepnote) are the divisions within each notebook.
They are a distinct area where code or text can
be added depending on the type of the cell.
See our [how-to guide]({{site.baseurl}}/deepnote-how-to#notebook-operations) for working with cells.
Expand All @@ -110,7 +110,7 @@ A terminal will give you a command line interface for your project and runs a ba
Launching a Terminal in Deepnote allows you to run scripts or complete tasks where the GUI is
not suitable.

See the DeepNote [documentation on terminals](https://deepnote.com/docs/terminal) for more information.
See the Deepnote [documentation on terminals](https://deepnote.com/docs/terminal) for more information.

## Environment

Expand All @@ -124,7 +124,7 @@ your needs.

When you copied our project, you also copied the environment.

See DeepNote's [documentation on custom environments](https://deepnote.com/docs/custom-environments)
See Deepnote's [documentation on custom environments](https://deepnote.com/docs/custom-environments)
for more information.

## Real-time collaboration
Expand All @@ -133,7 +133,7 @@ Real time collaboration refers to the capability of multiple users to work on th
documents in the same project at the same time. Any changes to documents can be seen by all
users working on the project as and when they happen.

See DeepNote's [documentation on real-time
See Deepnote's [documentation on real-time
collaboration](https://deepnote.com/docs/real-time-collaboration) for more details.

## Asynchronous collaboration
Expand All @@ -155,7 +155,7 @@ You can open and close the command pallet by pressing Cmd + P on Mac or Ctrl + P

## Members

A member is a DeepNote user associated with a particular workspace.
A member is a Deepnote user associated with a particular workspace.

When a user is a member of a workspace, they typically have access to all the projects within
that workspace, but the access permissions can be adjusted.
Expand Down
14 changes: 7 additions & 7 deletions docs/example-essays.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ the purpose of each section.
Clicking on the buttons below will open a *read-only* version of the essay or template.
They are rendered on-demand in your web browser, which may take a few seconds.

Once you have created a DeepNote account and copied our essay project,
Once you have created a Deepnote account and copied our essay project,
as explained in [Getting started]({{site.baseurl}}/getting-started),
you will have access to *editable* versions of the templates, so that
you can use them as starting points for your essays.
Expand All @@ -25,8 +25,8 @@ The essay shows two ways of calculating 1 + 2 + ... + *n* and compares their run
The essay follows a simple structure, in which each approach is outlined, implemented
and tested before moving on to the next one.

[View essay](https://nbviewer.org/github/dsa-ou/algoesup/blob/main/DeepNote/example-1-to-n.ipynb){: .btn .btn-blue .mr-2 }
[View template](https://nbviewer.org/github/dsa-ou/algoesup/blob/main/DeepNote/template-intro-programming.ipynb){: .btn .btn-blue}
[View essay](https://nbviewer.org/github/dsa-ou/algoesup/blob/main/Deepnote/example-1-to-n.ipynb){: .btn .btn-blue .mr-2 }
[View template](https://nbviewer.org/github/dsa-ou/algoesup/blob/main/Deepnote/template-intro-programming.ipynb){: .btn .btn-blue}

## Jewels and Stones

Expand All @@ -38,20 +38,20 @@ The complexity of the three algorithms is analysed and compared to their run-tim
This essay follows a slightly different structure, in which each approach is outlined and
its complexity analysed, before deciding which approaches are worth implementing.

[View essay](https://nbviewer.org/github/dsa-ou/algoesup/blob/main/DeepNote/example-jewels.ipynb){: .btn .btn-blue .mr-2 }
[View template](https://nbviewer.org/github/dsa-ou/algoesup/blob/main/DeepNote/template-data-structures.ipynb){: .btn .btn-blue}
[View essay](https://nbviewer.org/github/dsa-ou/algoesup/blob/main/Deepnote/example-jewels.ipynb){: .btn .btn-blue .mr-2 }
[View template](https://nbviewer.org/github/dsa-ou/algoesup/blob/main/Deepnote/template-data-structures.ipynb){: .btn .btn-blue}

## Two Sum (two approaches)

This classic problem asks to find two numbers in a list that add up exactly to a given number.
This essay solves the problem in two ways, with brute-force search (nested loops)
and a map (Python dictionary).

[View essay](https://nbviewer.org/github/dsa-ou/algoesup/blob/main/DeepNote/example-two-sum-2.ipynb){: .btn .btn-blue }
[View essay](https://nbviewer.org/github/dsa-ou/algoesup/blob/main/Deepnote/example-two-sum-2.ipynb){: .btn .btn-blue }

## Two Sum (three approaches)
This is an extended version of the previous essay.
It adds a third approach, that sorts the list of numbers, and
it analyses the complexity of the three approaches.

[View essay](https://nbviewer.org/github/dsa-ou/algoesup/blob/main/DeepNote/example-two-sum-3.ipynb){: .btn .btn-blue }
[View essay](https://nbviewer.org/github/dsa-ou/algoesup/blob/main/Deepnote/example-two-sum-3.ipynb){: .btn .btn-blue }
4 changes: 2 additions & 2 deletions docs/feedback.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ Many companies use **pair programming**, in which two developers work together
on the same piece of code. While one writes the code, the other reviews it as it's written,
pointing out mistakes and suggesting improvements.
The two developers switch roles often during a pair programming session.
With DeepNote, you and someone else can work simultaneously on the same notebook,
With Deepnote, you and someone else can work simultaneously on the same notebook,
while using Zoom, Microsoft Teams or some other app to chat.

In summary, by engaging in a feedback process for your and others' essays,
Expand Down Expand Up @@ -90,7 +90,7 @@ encouraging feedback to keep polishing it. For example,
if you commented on a previous version, praise the parts that improved.

## Acting on feedback
DeepNote emails every time you get a comment on your essay.
Deepnote emails every time you get a comment on your essay.
You may wish to improve your essay as you get each piece of feedback, or
you may wait some time, e.g. a week, to collect a variety of comments and
then address them in one pass.
Expand Down
16 changes: 8 additions & 8 deletions docs/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,19 +16,19 @@ without any software installation or configuration.

## Create a Deepnote account

1. Open the DeepNote [sign-up page](https://deepnote.com/sign-up).
1. Open the Deepnote [sign-up page](https://deepnote.com/sign-up).
2. Enter your email address. Use your academic (rather than personal) email to get the free
[education plan](https://deepnote.com/docs/edu-verification).
3. Check the CAPTCHA box and click **Continue with email**.
4. Check your email for a sign-in link from Deepnote and click it.

{: .important}
There are no passwords for Deepnote when signing up by email.
If you explicitly log out of your DeepNote account,
If you explicitly log out of your Deepnote account,
see our guide for [how to log in]({{site.baseurl}}/deepnote-how-to#log-in).

{:style="counter-reset:none"}
1. In DeepNote, answer the introductory questions, which may depend on
1. In Deepnote, answer the introductory questions, which may depend on
the type of email you used to sign up.
- If you're asked **what you are working on**, type **Writing essays** and click **Continue**.
- If you're asked to name your **workspace**, which is where you will store your projects,
Expand All @@ -37,15 +37,15 @@ see our guide for [how to log in]({{site.baseurl}}/deepnote-how-to#log-in).
- If you're asked for your **data sources**, click **Take me to Deepnote**.

You should now be looking at an empty notebook that is part of
the **Welcome to DeepNote** project within your workspace.
the **Welcome to Deepnote** project within your workspace.
You won't need that project for writing algorithmic essays, but
you may wish to keep it, to later explore DeepNote's data science features.
you may wish to keep it, to later explore Deepnote's data science features.

For the moment, just proceed with the next steps.

## Duplicate our project

We created an essay project in *our* DeepNote workspace, to be copied to *your* workspace.
We created an essay project in *our* Deepnote workspace, to be copied to *your* workspace.
The project has all necessary software pre-installed.

1. Open [our project](https://deepnote.com/workspace/lpsae-cc66-cd5cf5e4-ca6e-49d8-b6ee-dbbf202143d3/project/Algorithmic-Essays-acd23b74-5d63-4ef4-a991-3b8a049ddf6b).
Expand Down Expand Up @@ -84,6 +84,6 @@ You can now start editing your copy of the template.
[rename the notebook]({{site.baseurl}}/deepnote-how-to#rename-duplicate-download-or-delete-a-notebook-or-file).)

If you're familiar with the classic Jupyter interface, we recommend you first
read about the [differences]({{site.baseurl}}/deepnote-background#deepnote-vs-classic-notebook) with DeepNote.
read about the [differences]({{site.baseurl}}/deepnote-background#deepnote-vs-classic-notebook) with Deepnote.

For a video introduction to notebooks and DeepNote, see our [DeepNote guide]({{site.baseurl}}/deepnote).
For a video introduction to notebooks and Deepnote, see our [Deepnote guide]({{site.baseurl}}/deepnote).
4 changes: 2 additions & 2 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@ We provide some [example essays]({{site.baseurl}}/example-essays) to illustrate

While many approaches to writing algorithmic essays are possible, we recommend
using **Jupyter notebooks**, the most widely used medium for mixing text and executable code,
and **DeepNote**, a cloud-based environment for Jupyter notebooks.
We have no commercial affiliation with DeepNote. We chose it for these reasons:
and **Deepnote**, a cloud-based environment for Jupyter notebooks.
We have no commercial affiliation with Deepnote. We chose it for these reasons:
- free academic account
- no software installation necessary
- you can share your essays publicly (or just with a few people) to easily
Expand Down
20 changes: 10 additions & 10 deletions docs/writing.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ the guide currently has data structures and algorithms students in mind.
</details>

An essay can have more than one author, although more than two is harder to manage.
DeepNote makes it easy to work collaboratively on a single notebook,
Deepnote makes it easy to work collaboratively on a single notebook,
at the same time or asynchronously, and leave comments to co-authors.
You may wish to first pitch your essay idea to your peers, to recruit co-authors.

Expand All @@ -33,7 +33,7 @@ to refer simultaneously to a single author or multiple authors.

{: .note}
You may wish to keep this guide open while going through one of the
example essays in your copy of our DeepNote project.
example essays in your copy of our Deepnote project.

## Problem
It's worth spending time on choosing an appropriate problem before putting effort into an essay about it.
Expand Down Expand Up @@ -76,10 +76,10 @@ The essay should thus have a **clear narrative**, going from the problem to the
An algorithmic essay contains more text than code, and while code can and should have comments,
the text carries most of the explanation. It's thus important for the text to be clear and error-free.

DeepNote notebooks can have rich-text cells (headings, paragraph, bullet item, etc.) that,
Deepnote notebooks can have rich-text cells (headings, paragraph, bullet item, etc.) that,
contrary to the Markdown cells, are spell-checked as you write the text and
support keyboard shortcuts, like Ctrl + B to put the selected text in bold.
Unless you want to keep your essays in DeepNote, we do not recommend using rich-text cells,
Unless you want to keep your essays in Deepnote, we do not recommend using rich-text cells,
as their formatting is lost when downloading the notebook to your computer.

Essays can be written in any style: it's a personal choice.
Expand Down Expand Up @@ -231,7 +231,7 @@ After importing the `algoesup` library, you can turn on type checking as follows
Words that start with `%` are special commands for IPython, the Python interpreter used by Jupyter notebooks.
The `%pytype` command, provided by our library, activates Google's `pytype` type checker,
which comes pre-installed in the DeepNote essay project you copied.
which comes pre-installed in the Deepnote essay project you copied.

Once the type checker is activated, it checks each cell immediately after it's executed.
In this way you can detect and fix errors as you write and run each code cell.
Expand Down Expand Up @@ -278,7 +278,7 @@ The formatter has already automatically enforced simple formatting conventions,
4 spaces for indentation and 2 empty lines between functions,
so you will see fewer warnings from the linter.

The DeepNote essay project you copied already has a linter installed:
The Deepnote essay project you copied already has a linter installed:
`ruff`, the fastest Python linter. To turn it on, write the following after
importing `algoesup`.
```python
Expand Down Expand Up @@ -326,7 +326,7 @@ If you get errors that you think are pointless,
please let us know so that we can change `ruff`'s configuration.

### Basic constructs
The DeepNote project you copied also includes the `allowed` linter, created by ourselves.
The Deepnote project you copied also includes the `allowed` linter, created by ourselves.
It checks whether your code only uses certain Python constructs. This gives you
some reassurance that your code will be understood by a wide audience.

Expand Down Expand Up @@ -551,15 +551,15 @@ you expect from your complexity analysis, then there might be other explanations
- your input-generating functions are not generating best or worst cases.

For an example of the latter, see the *Jewels and Stones* essay in your copy of
our DeepNote project.
our Deepnote project.

## Final check
Whether it's your essay's first draft or final version, before you share it with others,
you should restart the kernel and run all cells, so that you have a 'clean' version.
Then, after a break, read your essay with 'fresh eyes' from start to end
and fix any typos or missing explanations you find.

Look at DeepNote's table of contents on the sidebar and check that your section headings
Look at Deepnote's table of contents on the sidebar and check that your section headings
are at the right level.

Finally, let others comment on your essay and help you produce a better version.
Expand All @@ -573,4 +573,4 @@ If you're interested and have the time, here are further details on some of the
* A summary of Python's [type hints](https://mypy.readthedocs.io/en/stable/cheat_sheet_py3.html) provided by the `mypy` project (another type checker).
* The Python [code style](https://peps.python.org/pep-0008) and [docstring conventions](https://peps.python.org/pep-0257).
* The [formatting style](https://black.readthedocs.io/en/stable/the_black_code_style/current_style.html) enforced by `black`, which we suspect is
the formatter used by Deepnote. DeepNote ignores the `# fmt: skip` directive to not format a single line.
the formatter used by Deepnote. Deepnote ignores the `# fmt: skip` directive to not format a single line.

0 comments on commit 67d837b

Please sign in to comment.