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