An Algorithms Course with Minimal Prerequisites

There are amazing materials for teaching theoretical algorithms courses: excellent books, lecture notes, and online courses. But none of the resources I am familiar with fits the algorithms course I was supposed to prepare. I wanted to teach a course for students who hardly have any prerequisites.

My students are non-CS majors (mostly math majors), so they did not take a data structures course. I also cannot assume that they have experience with probability, graph theory, linear algebra, writing proofs, and so on. So I made a class that only has two basic requirements:

  • Basic programming background: being comfortable with loops, if-else statements, and recursion.
  • No mathematical knowledge beyond calculus is required. However, the course is aimed at people who are comfortable with mathematical/abstract thinking.

Even though the course assumes minimum prerequisites, it gets into the technical details and some of the problems require a lot of thinking (although not at the beginning of course).

I made an effort to include many real-world applications, historical anecdotes, horrible jokes, and more. You can find the lecture notes and assignments by clicking on this sentence.

Any comments, questions, and complaints are welcome!

donald_knuth

2 thoughts on “An Algorithms Course with Minimal Prerequisites

  1. Pingback: Resumen de lecturas compartidas durante febrero de 2020 | Vestigium

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s