Original Link: https://github.com/EbookFoundation/free-programming-books 📚 Freely available programming books [ebookfoundation.github.io/free-programming-books/](https://ebookfoundation.github.io/free-programming-books/ "https://ebookfoundation.github.io/free-programming-books/") [CC-BY-4.0 license](https://github.com/EbookFoundation/free-programming-books/blob/main/LICENSE) <table><thead><tr><th colspan="2"><span>Name</span></th><th colspan="1"><span>Name</span></th><th><p><span>Last commit message</span></p></th><th colspan="1"><p><span>Last commit date</span></p></th></tr></thead><tbody><tr><td colspan="3"><p><span>and</span></p><p><span><a href="https://github.com/EbookFoundation/free-programming-books/commit/d488b56b98bb69e47bddfb4c36eb40dde9ffd39b">Add Hindi YouTube Courses: OOP in C++ &amp; Java, and DAA by KnowledgeGATE (</a></span></p><p><span><a href="https://github.com/EbookFoundation/free-programming-books/commit/d488b56b98bb69e47bddfb4c36eb40dde9ffd39b">d488b56</a> ·</span></p><p><a href="https://github.com/EbookFoundation/free-programming-books/commits/main/"><span><span><span>9,531 Commits</span></span></span></a></p></td></tr><tr><td colspan="2"><p><a href="https://github.com/EbookFoundation/free-programming-books/tree/main/.github">.github</a></p></td><td colspan="1"><p><a href="https://github.com/EbookFoundation/free-programming-books/tree/main/.github">.github</a></p></td><td><p><a href="https://github.com/EbookFoundation/free-programming-books/commit/31d6e3482b7e00c387c393bb00f3083cf59485f3">chore(deps): bump tj-actions/changed-files from 44 to 46 (</a><a href="https://github.com/EbookFoundation/free-programming-books/pull/11879">#11879</a><a href="https://github.com/EbookFoundation/free-programming-books/commit/31d6e3482b7e00c387c393bb00f3083cf59485f3">)</a></p></td><td></td></tr><tr><td colspan="2"><p><a href="https://github.com/EbookFoundation/free-programming-books/tree/main/_includes">_includes</a></p></td><td colspan="1"><p><a href="https://github.com/EbookFoundation/free-programming-books/tree/main/_includes">_includes</a></p></td><td><p><a href="https://github.com/EbookFoundation/free-programming-books/commit/35d21565a98f88f1d0c19991adb9daf6b445e414">Added favicon to the website which will make the site look great. (</a><a href="https://github.com/EbookFoundation/free-programming-books/pull/11603">#1…</a></p></td><td></td></tr><tr><td colspan="2"><p><a href="https://github.com/EbookFoundation/free-programming-books/tree/main/books">books</a></p></td><td colspan="1"><p><a href="https://github.com/EbookFoundation/free-programming-books/tree/main/books">books</a></p></td><td></td><td></td></tr><tr><td colspan="2"><p><a href="https://github.com/EbookFoundation/free-programming-books/tree/main/casts">casts</a></p></td><td colspan="1"><p><a href="https://github.com/EbookFoundation/free-programming-books/tree/main/casts">casts</a></p></td><td><p><a href="https://github.com/EbookFoundation/free-programming-books/commit/caa05be694008a30e039a7a83c10de2dbda18462">Add RTL/LTR Markdown linter for mixed-direction text consistency and …</a></p></td><td></td></tr><tr><td colspan="2"><p><a href="https://github.com/EbookFoundation/free-programming-books/tree/main/courses">courses</a></p></td><td colspan="1"><p><a href="https://github.com/EbookFoundation/free-programming-books/tree/main/courses">courses</a></p></td><td><p><a href="https://github.com/EbookFoundation/free-programming-books/commit/d488b56b98bb69e47bddfb4c36eb40dde9ffd39b">Add Hindi YouTube Courses: OOP in C++ &amp; Java, and DAA by KnowledgeGATE (</a></p></td><td></td></tr><tr><td colspan="2"><p><a href="https://github.com/EbookFoundation/free-programming-books/tree/main/docs">docs</a></p></td><td colspan="1"><p><a href="https://github.com/EbookFoundation/free-programming-books/tree/main/docs">docs</a></p></td><td><p><a href="https://github.com/EbookFoundation/free-programming-books/commit/caa05be694008a30e039a7a83c10de2dbda18462">Add RTL/LTR Markdown linter for mixed-direction text consistency and …</a></p></td><td></td></tr><tr><td colspan="2"><p><a href="https://github.com/EbookFoundation/free-programming-books/tree/main/more">more</a></p></td><td colspan="1"><p><a href="https://github.com/EbookFoundation/free-programming-books/tree/main/more">more</a></p></td><td><p><a href="https://github.com/EbookFoundation/free-programming-books/commit/6b901032b8217d4bbea801827959b2ec39883ab2">Added Playground for different languages (</a><a href="https://github.com/EbookFoundation/free-programming-books/pull/11781">#11781</a><a href="https://github.com/EbookFoundation/free-programming-books/commit/6b901032b8217d4bbea801827959b2ec39883ab2">)</a></p></td><td></td></tr><tr><td colspan="2"><p><a href="https://github.com/EbookFoundation/free-programming-books/tree/main/scripts">scripts</a></p></td><td colspan="1"><p><a href="https://github.com/EbookFoundation/free-programming-books/tree/main/scripts">scripts</a></p></td><td><p><a href="https://github.com/EbookFoundation/free-programming-books/commit/caa05be694008a30e039a7a83c10de2dbda18462">Add RTL/LTR Markdown linter for mixed-direction text consistency and …</a></p></td><td></td></tr><tr><td colspan="2"><p><a href="https://github.com/EbookFoundation/free-programming-books/blob/main/.editorconfig">.editorconfig</a></p></td><td colspan="1"><p><a href="https://github.com/EbookFoundation/free-programming-books/blob/main/.editorconfig">.editorconfig</a></p></td><td><p><a href="https://github.com/EbookFoundation/free-programming-books/commit/b5821e15f24bffeb5bb5c9c133df46de171b4de5">config: update <code>.editorconfig</code> parameters according to current format…</a></p></td><td></td></tr><tr><td colspan="2"><p><a href="https://github.com/EbookFoundation/free-programming-books/blob/main/.gitignore">.gitignore</a></p></td><td colspan="1"><p><a href="https://github.com/EbookFoundation/free-programming-books/blob/main/.gitignore">.gitignore</a></p></td><td><p><a href="https://github.com/EbookFoundation/free-programming-books/commit/b3f1b8e77229c15982416e4aa93d75ecaaaecabe">feat: configure gitignores for NodeJS, IDE, sys... (</a><a href="https://github.com/EbookFoundation/free-programming-books/pull/6674">#6674</a><a href="https://github.com/EbookFoundation/free-programming-books/commit/b3f1b8e77229c15982416e4aa93d75ecaaaecabe">)</a></p></td><td></td></tr><tr><td colspan="3"></td></tr></tbody></table> Search the list at [https://ebookfoundation.github.io/free-programming-books-search/](https://ebookfoundation.github.io/free-programming-books-search/). This page is available as an easy-to-read website. Access it by clicking on . ## Intro This list was originally a clone of [StackOverflow - List of Freely Available Programming Books](https://web.archive.org/web/20140606191453/http://stackoverflow.com/questions/194812/list-of-freely-available-programming-books/392926) with contributions from Karan Bhangui and George Stocker. The list was moved to GitHub by Victor Felder for collaborative updating and maintenance. It has grown to become one of [GitHub's most popular repositories](https://octoverse.github.com/). The [Free Ebook Foundation](https://ebookfoundation.org/) now administers the repo, a not-for-profit organization devoted to promoting the creation, distribution, archiving, and sustainability of free ebooks. [Donations](https://ebookfoundation.org/contributions.html) to the Free Ebook Foundation are tax-deductible in the US. Please read [CONTRIBUTING](https://github.com/EbookFoundation/free-programming-books/blob/main/docs/CONTRIBUTING.md). If you're new to GitHub, [welcome](https://github.com/EbookFoundation/free-programming-books/blob/main/docs/HOWTO.md)! Remember to abide by our adapted from [Code of Conduct](https://github.com/EbookFoundation/free-programming-books/blob/main/docs/CODE_OF_CONDUCT.md) too ([translations](https://github.com/EbookFoundation/#translations) also available). Click on these badges to see how you might be able to help: ## Resources This project lists books and other resources grouped by genres: ### Books [English, By Programming Language](https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-langs.md) [English, By Subject](https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-subjects.md) #### Other Languages - [Arabic / al arabiya / العربية](https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-ar.md) - [Armenian / Հայերեն](https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-hy.md) - [Azerbaijani / Азәрбајҹан дили / آذربايجانجا ديلي](https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-az.md) - [Bengali / বাংলা](https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-bn.md) - [Bulgarian / български](https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-bg.md) - [Burmese / မြန်မာဘာသာ](https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-my.md) - [Chinese / 中文](https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-zh.md) - [Czech / čeština / český jazyk](https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-cs.md) - [Catalan / catalan/ català](https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-ca.md) - [Danish / dansk](https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-da.md) - [Dutch / Nederlands](https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-nl.md) - [Estonian / eesti keel](https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-et.md) - [Finnish / suomi / suomen kieli](https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-fi.md) - [French / français](https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-fr.md) - [German / Deutsch](https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-de.md) - [Greek / ελληνικά](https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-el.md) - [Hebrew / עברית](https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-he.md) - [Hindi / हिन्दी](https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-hi.md) - [Hungarian / magyar / magyar nyelv](https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-hu.md) - [Indonesian / Bahasa Indonesia](https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-id.md) - [Italian / italiano](https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-it.md) - [Japanese / 日本語](https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-ja.md) - [Korean / 한국어](https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-ko.md) - [Latvian / Latviešu](https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-lv.md) - [Malayalam / മലയാളം](https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-ml.md) - [Norwegian / Norsk](https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-no.md) - [Persian / Farsi (Iran) / فارسى](https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-fa_IR.md) - [Polish / polski / język polski / polszczyzna](https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-pl.md) - [Portuguese (Brazil)](https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-pt_BR.md) - [Portuguese (Portugal)](https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-pt_PT.md) - [Romanian (Romania) / limba română / român](https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-ro.md) - [Russian / Русский язык](https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-ru.md) - [Serbian / српски језик / srpski jezik](https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-sr.md) - [Slovak / slovenčina](https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-sk.md) - [Spanish / español / castellano](https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-es.md) - [Swedish / Svenska](https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-sv.md) - [Tamil / தமிழ்](https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-ta.md) - [Telugu / తెలుగు](https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-te.md) - [Thai / ไทย](https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-th.md) - [Turkish / Türkçe](https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-tr.md) - [Ukrainian / Українська](https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-uk.md) - [Vietnamese / Tiếng Việt](https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-vi.md) ### Cheat Sheets - [All Languages](https://github.com/EbookFoundation/free-programming-books/blob/main/more/free-programming-cheatsheets.md) - [Arabic / al arabiya / العربية](https://github.com/EbookFoundation/free-programming-books/blob/main/courses/free-courses-ar.md) - [Bengali / বাংলা](https://github.com/EbookFoundation/free-programming-books/blob/main/courses/free-courses-bn.md) - [Bulgarian / български](https://github.com/EbookFoundation/free-programming-books/blob/main/courses/free-courses-bg.md) - [Burmese / မြန်မာဘာသာ](https://github.com/EbookFoundation/free-programming-books/blob/main/courses/free-courses-my.md) - [Chinese / 中文](https://github.com/EbookFoundation/free-programming-books/blob/main/courses/free-courses-zh.md) - [English](https://github.com/EbookFoundation/free-programming-books/blob/main/courses/free-courses-en.md) - [Finnish / suomi / suomen kieli](https://github.com/EbookFoundation/free-programming-books/blob/main/courses/free-courses-fi.md) - [French / français](https://github.com/EbookFoundation/free-programming-books/blob/main/courses/free-courses-fr.md) - [German / Deutsch](https://github.com/EbookFoundation/free-programming-books/blob/main/courses/free-courses-de.md) - [Greek / ελληνικά](https://github.com/EbookFoundation/free-programming-books/blob/main/courses/free-courses-el.md) - [Hebrew / עברית](https://github.com/EbookFoundation/free-programming-books/blob/main/courses/free-courses-he.md) - [Hindi / हिंदी](https://github.com/EbookFoundation/free-programming-books/blob/main/courses/free-courses-hi.md) - [Indonesian / Bahasa Indonesia](https://github.com/EbookFoundation/free-programming-books/blob/main/courses/free-courses-id.md) - [Italian / italiano](https://github.com/EbookFoundation/free-programming-books/blob/main/courses/free-courses-it.md) - [Japanese / 日本語](https://github.com/EbookFoundation/free-programming-books/blob/main/courses/free-courses-ja.md) - [Kannada/ಕನ್ನಡ](https://github.com/EbookFoundation/free-programming-books/blob/main/courses/free-courses-kn.md) - [Kazakh / қазақша](https://github.com/EbookFoundation/free-programming-books/blob/main/courses/free-courses-kk.md) - [Khmer / ភាសាខ្មែរ](https://github.com/EbookFoundation/free-programming-books/blob/main/courses/free-courses-km.md) - [Korean / 한국어](https://github.com/EbookFoundation/free-programming-books/blob/main/courses/free-courses-ko.md) - [Malayalam / മലയാളം](https://github.com/EbookFoundation/free-programming-books/blob/main/courses/free-courses-ml.md) - [Marathi / मराठी](https://github.com/EbookFoundation/free-programming-books/blob/main/courses/free-courses-mr.md) - [Nepali / नेपाली](https://github.com/EbookFoundation/free-programming-books/blob/main/courses/free-courses-ne.md) - [Norwegian / Norsk](https://github.com/EbookFoundation/free-programming-books/blob/main/courses/free-courses-no.md) - [Persian / Farsi (Iran) / فارسى](https://github.com/EbookFoundation/free-programming-books/blob/main/courses/free-courses-fa_IR.md) - [Polish / polski / język polski / polszczyzna](https://github.com/EbookFoundation/free-programming-books/blob/main/courses/free-courses-pl.md) - [Portuguese (Brazil)](https://github.com/EbookFoundation/free-programming-books/blob/main/courses/free-courses-pt_BR.md) - [Portuguese (Portugal)](https://github.com/EbookFoundation/free-programming-books/blob/main/courses/free-courses-pt_PT.md) - [Russian / Русский язык](https://github.com/EbookFoundation/free-programming-books/blob/main/courses/free-courses-ru.md) - [Sinhala / සිංහල](https://github.com/EbookFoundation/free-programming-books/blob/main/courses/free-courses-si.md) - [Spanish / español / castellano](https://github.com/EbookFoundation/free-programming-books/blob/main/courses/free-courses-es.md) - [Swedish / svenska](https://github.com/EbookFoundation/free-programming-books/blob/main/courses/free-courses-sv.md) - [Tamil / தமிழ்](https://github.com/EbookFoundation/free-programming-books/blob/main/courses/free-courses-ta.md) - [Telugu / తెలుగు](https://github.com/EbookFoundation/free-programming-books/blob/main/courses/free-courses-te.md) - [Thai / ภาษาไทย](https://github.com/EbookFoundation/free-programming-books/blob/main/courses/free-courses-th.md) - [Turkish / Türkçe](https://github.com/EbookFoundation/free-programming-books/blob/main/courses/free-courses-tr.md) - [Ukrainian / Українська](https://github.com/EbookFoundation/free-programming-books/blob/main/courses/free-courses-uk.md) - [Urdu / اردو](https://github.com/EbookFoundation/free-programming-books/blob/main/courses/free-courses-ur.md) - [Vietnamese / Tiếng Việt](https://github.com/EbookFoundation/free-programming-books/blob/main/courses/free-courses-vi.md) - [Chinese / 中文](https://github.com/EbookFoundation/free-programming-books/blob/main/more/free-programming-interactive-tutorials-zh.md) - [English](https://github.com/EbookFoundation/free-programming-books/blob/main/more/free-programming-interactive-tutorials-en.md) - [German / Deutsch](https://github.com/EbookFoundation/free-programming-books/blob/main/more/free-programming-interactive-tutorials-de.md) - [Japanese / 日本語](https://github.com/EbookFoundation/free-programming-books/blob/main/more/free-programming-interactive-tutorials-ja.md) - [Russian / Русский язык](https://github.com/EbookFoundation/free-programming-books/blob/main/more/free-programming-interactive-tutorials-ru.md) - [Problem Sets](https://github.com/EbookFoundation/free-programming-books/blob/main/more/problem-sets-competitive-programming.md) Free Podcasts and Screencasts: - [Arabic / al Arabiya / العربية](https://github.com/EbookFoundation/free-programming-books/blob/main/casts/free-podcasts-screencasts-ar.md) - [Burmese / မြန်မာဘာသာ](https://github.com/EbookFoundation/free-programming-books/blob/main/casts/free-podcasts-screencasts-my.md) - [Chinese / 中文](https://github.com/EbookFoundation/free-programming-books/blob/main/casts/free-podcasts-screencasts-zh.md) - [Czech / čeština / český jazyk](https://github.com/EbookFoundation/free-programming-books/blob/main/casts/free-podcasts-screencasts-cs.md) - [Dutch / Nederlands](https://github.com/EbookFoundation/free-programming-books/blob/main/casts/free-podcasts-screencasts-nl.md) - [English](https://github.com/EbookFoundation/free-programming-books/blob/main/casts/free-podcasts-screencasts-en.md) - [Finnish / Suomi](https://github.com/EbookFoundation/free-programming-books/blob/main/casts/free-podcasts-screencasts-fi.md) - [French / français](https://github.com/EbookFoundation/free-programming-books/blob/main/casts/free-podcasts-screencasts-fr.md) - [German / Deutsch](https://github.com/EbookFoundation/free-programming-books/blob/main/casts/free-podcasts-screencasts-de.md) - [Hebrew / עברית](https://github.com/EbookFoundation/free-programming-books/blob/main/casts/free-podcasts-screencasts-he.md) - [Indonesian / Bahasa Indonesia](https://github.com/EbookFoundation/free-programming-books/blob/main/casts/free-podcasts-screencasts-id.md) - [Persian / Farsi (Iran) / فارسى](https://github.com/EbookFoundation/free-programming-books/blob/main/casts/free-podcasts-screencasts-fa_IR.md) - [Polish / polski / język polski / polszczyzna](https://github.com/EbookFoundation/free-programming-books/blob/main/casts/free-podcasts-screencasts-pl.md) - [Portuguese (Brazil)](https://github.com/EbookFoundation/free-programming-books/blob/main/casts/free-podcasts-screencasts-pt_BR.md) - [Portuguese (Portugal)](https://github.com/EbookFoundation/free-programming-books/blob/main/casts/free-podcasts-screencasts-pt_PT.md) - [Russian / Русский язык](https://github.com/EbookFoundation/free-programming-books/blob/main/casts/free-podcasts-screencasts-ru.md) - [Sinhala / සිංහල](https://github.com/EbookFoundation/free-programming-books/blob/main/casts/free-podcasts-screencasts-si.md) - [Spanish / español / castellano](https://github.com/EbookFoundation/free-programming-books/blob/main/casts/free-podcasts-screencasts-es.md) - [Swedish / Svenska](https://github.com/EbookFoundation/free-programming-books/blob/main/casts/free-podcasts-screencasts-sv.md) - [Turkish / Türkçe](https://github.com/EbookFoundation/free-programming-books/blob/main/casts/free-podcasts-screencasts-tr.md) - [Ukrainian / Українська](https://github.com/EbookFoundation/free-programming-books/blob/main/casts/free-podcasts-screencasts-uk.md) ### Programming Playgrounds Write, compile, and run your code within a browser. Try it out! - [Chinese / 中文](https://github.com/EbookFoundation/free-programming-books/blob/main/more/free-programming-playgrounds-zh.md) - [English](https://github.com/EbookFoundation/free-programming-books/blob/main/more/free-programming-playgrounds.md) - [German / Deutsch](https://github.com/EbookFoundation/free-programming-books/blob/main/more/free-programming-playgrounds-de.md) ## Translations Volunteers have translated many of our Contributing, How-to, and Code of Conduct documents into languages covered by our lists. - English - [Code of Conduct](https://github.com/EbookFoundation/free-programming-books/blob/main/docs/CODE_OF_CONDUCT.md) - [Contributing](https://github.com/EbookFoundation/free-programming-books/blob/main/docs/CONTRIBUTING.md) - [How-to](https://github.com/EbookFoundation/free-programming-books/blob/main/docs/HOWTO.md) - ... *[More languages](https://github.com/EbookFoundation/free-programming-books/blob/main/docs/README.md#translations)*... You might notice that there are [some missing translations here](https://github.com/EbookFoundation/free-programming-books/blob/main/docs/README.md#translations) - perhaps you would like to help out by [contributing a translation](https://github.com/EbookFoundation/free-programming-books/blob/main/docs/CONTRIBUTING.md#help-out-by-contributing-a-translation)? ## License Each file included in this repository is licensed under the [CC BY License](https://github.com/EbookFoundation/free-programming-books/blob/main/LICENSE). ## Sponsor this project [**EbookFoundation** Free Ebook Foundation](https://github.com/EbookFoundation) [Sponsor](https://github.com/sponsors/EbookFoundation) [Learn more about GitHub Sponsors](https://github.com/sponsors) ## Languages - [Python 98.9%](https://github.com/EbookFoundation/free-programming-books/search?l=python) - [HTML 1.1%](https://github.com/EbookFoundation/free-programming-books/search?l=html)