Data Structures and Algorithms

Terms

Updated 17 October 2026

These terms are the agreement between you and Adam Richard Turner for the course at datastructuresandalgorithms.com. The course is free. Creating an account means you agree to these terms and have read the Privacy policy.

This agreement

Adam Richard Turner is the other party to this agreement. He created the course. He is a private individual, not a company or an organisation. Contact hello@adamrichardturner.dev. If you need a postal address for a formal notice, ask and he will provide one.

Before you create an account, these terms tell you who we are, what the course is, that the price is zero, that there is no subscription term, and how to close the account. That is the information a distance contract is meant to give you up front.

The course is free

The nineteen lessons, the editor, the tests, the stars, and saved progress are free.

  • We do not take a payment card to open an account.
  • We do not start a trial that becomes a subscription.
  • We do not lock a lesson behind a paid plan.
  • We do not sell your personal data to pay for the course.

If we ever offer something optional and paid, it will be a separate offer with its own price. It will not be required to keep using the course these terms describe, and we will not charge this account unless you agree to that separate offer first.

There is nothing to refund, because there is nothing to pay.

Who can join

You need to be at least 16 years old, and able to enter an agreement under the law that applies to you. The course is for a person learning. It is not directed at children.

Use your own account. Do not create an account for someone else unless you are allowed to agree for them and they are at least 16.

Your account

You can register with email and a password, or with Google or GitHub. A verified email from Google or GitHub signs into the account that already uses that address. An unverified address is not linked. Keep your password to yourself if you set one. Tell us if you think someone else is using the account.

A password has to be at least 8 characters. You can change your name, email, picture link, and password in Settings. You can delete the account there. Deletion removes the account, the sessions, the linked providers, and the submissions, as the Privacy policy describes.

We can suspend or close an account that breaks these terms, that is being used to attack the service, or that the law requires us to close. Where we can do so safely, we will tell you the reason first and let you ask for a copy of your code. We will act first where waiting would leave the service, or another person, at risk.

Using the course

Lessons are meant to be taken in order. An exercise is complete when its tests pass. Stars record how the pass went: three on a first passing submission, two if it passes within the first three submissions, and one after that. The best score stays on the lesson. Stars are a learning record for you. They are not a qualification, a certificate, or a reference we give to an employer.

The editor runs in your browser. A submission runs on our server long enough for the tests, with a short time limit, and without loading outside packages. That is enough for these exercises. It is not a hardened sandbox, and it is not a place to run code you do not want stored.

The coding desk is built for a laptop or desktop.

Your code

You keep the rights in the code you submit. You give us a licence to host it, show it back to you, and run it for the tests, for as long as the account exists, and only so we can provide the course. The licence ends when the code is deleted, apart from a backup copy that ages out on the host's backup cycle.

We do not publish your solutions, sell them, or offer them as training data.

You agree that the code is yours to submit, and that it does not include another person's personal data, a secret, or anything you are not allowed to store with us.

Our material

The lesson text, examples, tests, starter code supplied with the course, and the site design belong to Adam Richard Turner, or are used with his permission. He gives you a personal, non-exclusive licence to use them while you take the course. You may keep copies of your own solutions.

Do not republish the lessons as your own course, scrape the site to build a competing product, or strip attribution from material that carries it.

If you believe material on the site infringes a copyright you hold, email hello@adamrichardturner.dev with the page, what the material is, and a statement that you are the rightsholder or allowed to act for them. We will review the notice and remove or restrict material that infringes. This is a notice process. It is not a registration with a copyright office.

Acceptable use

Use the course to learn. In particular, do not:

  • Probe, scan, or try to break out of the code runner, or use it to reach the server, another account, or anyone else's data
  • Overload the site, or automate submissions in a way that degrades it for other people
  • Try to access an account that is not yours
  • Upload malware, or code whose purpose is to harm the service or another person
  • Use the course to harass, or to store unlawful material
  • Present stars or progress as a credential issued by us

We may remove a submission or end a session that does this. For a mistake that does not put other people at risk, we will tell you and give you a chance to stop, where the law and the safety of the service allow it.

Google and GitHub

Those buttons are optional. Google and GitHub provide their own services under their own terms, and they are responsible for those services. An outage or a decision on their side is theirs. You can use email and a password instead. If the account started with a provider, you can add a password later from Settings.

Privacy

The Privacy policy explains the personal data we use. It is the notice for the UK GDPR, the Data Protection Act 2018, and the EU GDPR. These terms do not reduce the rights in that policy. The hosts that store the site and the database do so as our processors, on the data processing terms the policy describes.

Availability and changes

We aim to keep the course available. Maintenance, a host failure, or a legal duty can take a page offline for a time. We do not promise uninterrupted access.

We may correct a lesson, a test, or the way a score is explained. A correction will not be used to remove a pass you have already earned, except where a broken test marked a wrong answer as right, and we will say so when that happens.

We may update these terms. The page will show a new date. If a change materially reduces the free course, or adds a restriction that affects why you joined, we will post it before it takes effect. You can delete the account if you do not want the new terms. Using the course after that date means you accept the update, except where the law requires a clearer agreement. An update will not add a fee to this account.

If we close the course, we will say so on the site beforehand when we can, and you can ask for a copy of your code before the closing date.

What the course is

The course is practice in data structures and algorithms, in TypeScript. It is educational. It is not a programme from an accredited institution, not professional advice, and not an offer of an interview, a job, or a particular result. You decide how you use what you practise.

Liability

You keep every right that a contract is not allowed to take away. That includes liability for death or personal injury caused by negligence, liability for fraud or fraudulent misrepresentation, and any mandatory consumer or data-protection right in the United Kingdom, the European Economic Area, Switzerland, or the country where you live.

Consumer rights

If you are a consumer, the Consumer Rights Act 2015 and the unfair-terms rules in the United Kingdom still apply, including the bar on terms that hide a fee or that deny a statutory right. In the EEA, the mandatory rules on unfair terms still apply, and so do the rules on digital content and digital services where they cover a free service, including where personal data is part of the bargain and the law treats it that way. Nothing in these terms is applied so as to remove one of those rights.

Other loss

Outside those rights, we are liable for direct loss that was a foreseeable result of our breaking these terms, or of our failing to use reasonable care and skill. We are not liable for loss of profit, loss of business, or other indirect or consequential loss, to the extent the law allows that limit. The course is free, so a foreseeable direct loss will often be limited. A court can still award what the law requires.

The code runner can stop a run that exceeds the time limit. Keep your own copy of work you care about, as well as the copy on the account.

Closing the account

You may delete the account at any time in Settings, or by emailing us. If you live in the United Kingdom or the EEA and a statutory cooling-off right applies to this free service, you can cancel within 14 days of creating the account by deleting it or writing to us. There is no charge to return.

We are not obliged to use an alternative dispute resolution scheme. You can still email us. You can also complain to a consumer authority, or to a data-protection authority, where you have that right. In the UK the data-protection authority is the Information Commissioner's Office.

Law and courts

These terms are governed by the laws of England and Wales.

If you live in the United Kingdom or the European Economic Area, you keep the mandatory protections of the country where you live, and you may bring a claim in the courts of that country. We may bring a claim in the courts of your country of residence, or in the courts of England and Wales. This section leaves in place any right to a local court that the law says you cannot give up.

If you live somewhere else, you can still bring a claim where a local mandatory rule says the courts of your country must be open to you. Otherwise the courts of England and Wales decide disputes under these terms.

Contact

Email hello@adamrichardturner.dev. The Privacy policy explains personal data, including how to complain to a supervisory authority.