# Prescribed Books

Effective algorithm design requires both a solid theoretical foundation and practical "war stories." These are the books that will guide you.

***

## Primary Textbook

|                                                                                                                                                                                                                                  |                                                                                 |                                                                                                                                                                                                                                                                                                                             |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ![The Algorithm Design Manual](https://4226438457-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdwkgNBo5SdO1QxgbYuUi%2Fuploads%2Fgit-blob-9c81ad7dee5825a0c730d3696045c99fa79b9243%2FSkiena.png?alt=media) | <p>### The Algorithm Design Manual<br><strong>Author</strong>: Steven S. Skiena | <strong>Edition</strong>: 3rd Edition<br><br>This is your main textbook. Skiena’s approach is famous for being "practitioner-first."<br><br><strong>Why we use it:</strong></p><ul><li><strong>War Stories:</strong> Real-world examples.</li><li><strong>The Hitchhiker's Guide:</strong> A catalog of problems.</li></ul> |

***

## Reference Resource

|                                                                                                                                                                                                             |                                                            |                                                                                                                                            |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| ![Beginning C](https://4226438457-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdwkgNBo5SdO1QxgbYuUi%2Fuploads%2Fgit-blob-be357e9cec2efa3bd5533a1acc2fa8f51b151f5a%2FC.png?alt=media) | <p>### Beginning C<br><strong>Author</strong>: Ivor Horton | <strong>Edition</strong>: 2013<br><br>Although we have moved to Python, this is a high-quality reference for low-level implementation.</p> |

***

## Study Mapping

| Study Unit | Skiena Chapters | Topics Covered |
| ---------- | --------------- | -------------- |
| **Unit 1** | *TBA*           | *Coming soon*  |
| **Unit 2** | *TBA*           | *Coming soon*  |
| **Unit 3** | *TBA*           | *Coming soon*  |
| **Unit 4** | *TBA*           | *Coming soon*  |
| **Unit 5** | *TBA*           | *Coming soon*  |

***

{% hint style="success" %}
**Ready to get your environment ready?** [Set up your IDE (PyCharm or VSCode) →](https://seece.gitbook.io/reii211/welcome-and-introduction/ide-setup)
{% endhint %}
