These are my lecture materials for my class CS 450: Design and Analysis of Algorithms, which I teach at Washington State University, Vancouver campus.
These include the lecture slides that I use, as well as some practice problems, and even assignments.
If you are a student (mine or otherwise), please use these materials freely to learn about algorithm design.
These materials are intended to be an open educational resource. If you are a teacher, see the section Using these materials in your own classes for information on how to comply with the license.
© Grant Williams, 2025
These lecture materials are licensed under CC BY-SA 4.0 (license deed).
Everything in this repository, including all slide decks and practice problems, are licensed under CC BY-SA 4.0 unless otherwise noted.
Please see CONTRIBUTING.md for information on how to contribute and what license will be applied to contributions.
These materials are licensed under CC BY-SA 4.0, which means that if you adapt the material: meaning that you remix, transform, or build upon it, you must mark your adaptations and share the adapted version under the same license.
This does not mean that merely using one of my slides or assignments requires that you must license your whole presentation under CC BY-SA. Only if you were improving the presentation itself, such as by fixing errors, or adding new slides that were meant to go before or after other slides in these decks, would I expect the specific modifications or improvements to be licensed under CC BY-SA.
My main intention behind using a share-alike license is to ensure that I can incorporate error fixes, better explanations, and better diagrams in these materials, without violating a more restrictive copyright imposed by the adapter.
When citing, please mention the specific file you got the slide or assignment from, with a link to that file, along with my name: Grant Williams (or other copyright holder if the slide is marked with a distinct copyright), and the license CC BY-SA 4.0, with a link to the license deed or text.
Please see Contributing for information on how to contribute and what license contributions must be shared under.