Free textÂbooks (aka open textÂbooks) writÂten by knowlÂedgable scholÂars are a relÂaÂtiveÂly new pheÂnomÂeÂnon. Below, find a meta list of Free ComÂputÂer SciÂence TextÂbooks, part of our largÂer colÂlecÂtion 200 Free TextÂbooks: A Meta ColÂlecÂtion. Also see our online colÂlecÂtion, 1,700 Free Online CoursÂes from Top UniÂverÂsiÂties.
- A Byte of Python, by SwaÂroop C H
- A First Course in ElecÂtriÂcal and ComÂputÂer EngiÂneerÂing by Louis Scharf, ColÂorado State
- ArtiÂfiÂcial IntelÂliÂgence: FounÂdaÂtions of ComÂpuÂtaÂtionÂal Agents by David Poole and Alan MackÂworth, UniÂverÂsiÂty of British ColumÂbia
- Bits, SigÂnals, and PackÂets: An IntroÂducÂtion to DigÂiÂtal ComÂmuÂniÂcaÂtions and NetÂworks by Hari BalÂakrÂishÂnan, ChristoÂpher TerÂman, and George VerghÂese, MIT
- Code Like a PythonÂista: IdiomatÂic Python, by David Goodger
- ComÂpuÂtaÂtionÂal GeomÂeÂtry by Nicholas M. Patrikalakis, Takashi Maekawa, MIT
- DigÂiÂtal CirÂcuit Projects: An Overview of DigÂiÂtal CirÂcuits Through ImpleÂmentÂing InteÂgratÂed CirÂcuits by Charles W. Kann, GetÂtysÂburg ColÂlege
- Dive into Python, by Mark PilÂgrim
- FounÂdaÂtions of ComÂputÂer SciÂence by Al Aho (ColumÂbia) and Jeff UllÂman (StanÂford)
- High PerÂforÂmance ComÂputÂing by Charles SevÂerÂance, UniÂverÂsiÂty of MichiÂgan
- How to Design ProÂgrams: An IntroÂducÂtion to ComÂputÂing and ProÂgramÂming, MulÂtiÂple Authors
- How to Think Like a ComÂputÂer SciÂenÂtist: C ++ ( PDF) by Allen B. Downey, Olin ColÂlege
- How to Think Like a ComÂputÂer SciÂenÂtist: Java by Allen B. Downey, Olin ColÂlege
- How to Think Like a ComÂputÂer SciÂenÂtist: Python by Allen B. Downey, Olin ColÂlege
- ImpleÂmentÂing a One Address CPU in Logisim by Charles W. Kann III, GetÂtysÂburg ColÂlege
- InforÂmaÂtion TechÂnolÂoÂgy and the NetÂworked EconÂoÂmy by Patrick McKÂeÂown, UniÂverÂsiÂty of GeorÂgia
- InforÂmaÂtion TheÂoÂry, InferÂence, and LearnÂing AlgoÂrithms by David MacKÂay, CamÂbridge
- IntroÂducÂtion To MIPS AssemÂbly LanÂguage ProÂgramÂming by Charles W. Kann III, GetÂtysÂburg ColÂlege
- NeurÂal NetÂworks and Deep LearnÂing, by Michael Nielsen, Research FelÂlow at the Recurse CenÂter
- PatÂterns for BeginÂning ProÂgramÂmers (with ExamÂples in Java), by David BernÂstein, James MadiÂson UniÂverÂsiÂty
- PhiÂlosÂoÂphy of ComÂputÂer SciÂence by William J. RapaÂport, UniÂverÂsiÂty at BufÂfaÂlo, The State UniÂverÂsiÂty of New York
- PrinÂciÂples of ComÂputÂer SysÂtem Design: An IntroÂducÂtion (Part II) by Jerome Saltzer and M. Frans Kaashoek.
- PrinÂciÂples of ProÂgramÂming LanÂguages by Grad StuÂdents, Johns HopÂkins
- ProÂgramÂming LanÂguages: AppliÂcaÂtion and InterÂpreÂtaÂtion by Dr. ShriÂram KrishÂnaÂmurthi, Brown UniÂverÂsiÂty.
- ProÂlog and NatÂurÂal-LanÂguage AnalyÂsis by FerÂnanÂdo C. N. Pereira and StuÂart M. Shieber, U Penn & HarÂvard
- Python for InforÂmatÂics: ExplorÂing InforÂmaÂtion by Charles SevÂerÂance, UniÂverÂsiÂty of MichiÂgan
- StrucÂture and InterÂpreÂtaÂtion of ComÂputÂer ProÂgrams by JerÂry SussÂman & Julie SussÂman
- Teach YourÂself WordÂPerÂfect Mac by John Rethorst
- The PrinceÂton BitÂcoin TextÂbook by Arvind Narayanan (PrinceÂton) and colÂleagues
We’re hopÂing to rely on our loyÂal readÂers rather than erratÂic ads. To supÂport Open CulÂture’s eduÂcaÂtionÂal misÂsion, please conÂsidÂer makÂing a donaÂtion. We accept PayÂPal, VenÂmo (@openculture), PatreÂon and CrypÂto! Please find all options here. We thank you!