Computer science books are set course by course, and lists age fast because languages and machines keep changing. MIT's 6.006, Introduction to Algorithms, as published for Spring 2020, points to the third edition of the text known as CLRS (MIT OpenCourseWare, 2020); the fourth came out in April 2022. Edinburgh's 2026/27 algorithms course names the book's fourth author as Shamir.
EdCitation publishes this guide. Every list in it, from MIT OpenCourseWare and from the 2026/27 modules of York and Edinburgh, was read at source on 23 September 2026. Below: the kinds of book, how editions differ, citing in IEEE and APA 7 with Cite a source, and the books together in EdCitation's Library.
Which books does a computer science degree read?
A computer science degree reads a textbook or two for each core area: programming, discrete mathematics, algorithms, computer systems, operating systems, networks, databases and machine learning. Some, MIT's 6.006 among them, call their books useful but not required.
| Area | Book named, with the list's edition | Course list |
|---|---|---|
| Programming and languages | Downey, Think Python, 2nd ed., 2015; Kernighan and Ritchie, The C Programming Language, 2nd ed. | York; Edinburgh |
| Discrete mathematics | Epp, Discrete Mathematics with Applications, 5th ed.; Truss, 1999; Lehman, Leighton and Meyer, Mathematics for Computer Science | Edinburgh; York; MIT |
| Algorithms and data structures | Cormen et al. (CLRS), Introduction to Algorithms, 3rd ed. | MIT; Edinburgh |
| Computer systems and architecture | Patterson and Hennessy, Computer Organization and Design, 4th or 5th ed.; Hennessy and Patterson, Computer Architecture: A Quantitative Approach, 2nd ed.; Saltzer and Kaashoek, 2009 | Edinburgh; York; MIT |
| Operating systems | Silberschatz et al., Operating System Concepts, 10th ed., 2018, and 5th ed., 1998 | York; Edinburgh |
| Networks | Kurose and Ross, 8th ed.; Peterson and Davie, 6th ed.; Tanenbaum et al., 6th ed. | Edinburgh |
| Databases | Ramakrishnan and Gehrke, 3rd ed., 2003; Abiteboul, Hull and Vianu, 1995 | Edinburgh |
| Machine learning | Bishop, 2007; Hastie et al., 2009; Murphy, 2012; Russell and Norvig, no edition | Edinburgh; York |
Sources: MIT OpenCourseWare (2018b, 2020), Lehman et al. (2015), University of York (2026a, 2026b, 2026c, 2026d, 2026e) and University of Edinburgh (2026a, 2026c, 2026d, 2026e, 2026f, 2026g, 2026h).
What York's first year sets
York's first year puts programming beside discrete mathematics (University of York, n.d.). Software 1 lists the 2015 second edition of Think Python and two other Python books (University of York, 2026b). Theory 1, on discrete mathematics, lists five books from 1997 to 2005, among them Solow's How to Read and Do Proofs (University of York, 2026e). Edinburgh teaches it in the second year, from Epp's fifth edition (University of Edinburgh, 2026d).
Open textbooks and official documentation
Some standard texts are free, legally. MIT publishes all 920 pages of Mathematics for Computer Science, the full text of its 6.042J, under a Creative Commons licence (Lehman et al., 2015). The third edition of Think Python is free online (Downey, 2024). Peterson and Davie's networks book is open source under CC BY 4.0, grown from its Elsevier fifth edition (Peterson & Davie, n.d.), and Edinburgh notes that Foundations of Databases is out of print but "freely available for personal use" (University of Edinburgh, 2026g). See also more free and open textbooks.
Why do conference papers matter so much in computer science?
Conference papers matter because computing publishes much of its research at conferences first. Moshe Vardi, then editor of Communications of the ACM, wrote that as far as he knew computing was "the only scientific community" to treat conferences as its main outlet (Vardi, 2009). A 1999 Computing Research Association memo said conferences are preferred for experimental work, for a shorter time to print and more reviews per paper (Patterson et al., 1999). Vardi named the cost: rushed reviewing, and few conference papers later reach a journal.
Undergraduates meet it early: MIT's Computer System Engineering built each recitation around a systems paper (MIT OpenCourseWare, 2018b), one from the 2013 IEEE Symposium on Security and Privacy (MIT OpenCourseWare, 2018a). We found no study counting how often students cite them.
EdCitation's Find sources covers about 300 million published works. Under Where it was published, tick In conference proceedings; under Source type, choose Preprint; set the Field to Computer Science. Check whether a preprint has since been published.
Which edition of a computer science textbook should I use?
Keep to the edition on your module page; move up only if a later one covers what you will be examined on, and check with whoever runs the module. Every book below has moved on since the edition a list sets.
| Book | On the list | Newest edition | What changed, says the publisher or author |
|---|---|---|---|
| Introduction to Algorithms | 3rd (MIT; Edinburgh) | 4th, April 2022 | Chapters on bipartite matchings, online algorithms and machine learning |
| Think Python | 2nd, 2015 (York) | 3rd, 2024 | Jupyter notebooks; advice on AI tools such as ChatGPT; testing with doctest and unittest |
| Computer Organization and Design | 4th or 5th (Edinburgh) | MIPS, 6th, November 2020 | A section on domain-specific architectures in each chapter |
| Computer Architecture: A Quantitative Approach | 2nd (York); 4th or 5th (Edinburgh) | 7th, October 2025 | Fully revised; Christos Kozyrakis joins as author |
| Computer Networking: A Top-Down Approach | 8th, 2021 (Edinburgh) | 9th, September 2025, copyright 2026 | Wi-Fi 6, 5G, HTTP/3 and QUIC, streaming |
| Every edition of any of them | EdCitation's Library | Sorted newest first | Year and publisher on each record |
Sources: Cormen et al. (2022), Downey (2024), Patterson and Hennessy (2020), Hennessy et al. (2025) and Kurose and Ross (2026).
When the edition is a language or an instruction set
In computing, an edition can change what you type. Downey says the second and third editions of Think Python use Python 3 and sends Python 2 users to the first (Downey, 2024); Python 2 stopped receiving fixes on 1 January 2020 (Python Software Foundation, n.d.). Computer Organization and Design comes in MIPS, ARM and RISC-V editions. Edinburgh's compilers course lets students pick Appel's Modern Compiler Implementation in C, Standard ML or Java (University of Edinburgh, 2026b). Buy the version whose language your labs use.
How do I track down the edition my reading list names?
Find it by ISBN when the list gives one, and by authors, title, edition and year when it does not. An ISBN identifies one edition in one format (International ISBN Agency, n.d.). Of the lists read here, only MIT's gave ISBNs.
- Write down the entry as the list prints it, ISBN included.
- Paste the ISBN into EdCitation's Cite a source: MIT's 9780262033848 returned an MIT Press record dated 2009, the third edition's year.
- With no ISBN, look the title up in EdCitation's Library, sort newest first, match edition and year, and filter by language to drop translations.
- Check the year on the publisher's page.
- If no edition is named, as in York's entry for Russell and Norvig (University of York, 2026a), ask which one the module uses.
- Then buy a copy, locate one in a nearby library, or bookmark it into My Books.
Reading lists carry errors
Take names and dates from the book, not the list. Edinburgh's second-year course gives CLRS's fourth author as Shamir (University of Edinburgh, 2026e), not Stein. Its third-year course dates the third edition 2002 (University of Edinburgh, 2026a); MIT Press dates it 31 July 2009 (Cormen et al., 2009). MIT's 6.033 page spells "Lazlo Szekeres" and "Mathia Payer"; the paper's byline reads László Szekeres and Mathias Payer (Szekeres et al., 2013).
Edinburgh's 2002 date came back from EdCitation's Verify references as "check this": "The catalogue dates the 3rd edition 2009, not 2002." Shamir's version came back "check this" too: "A library catalogue record also names Stein, who is not in your entry." Behind "et al.", a wrong co-author is yours to catch.
How do I cite a computer science textbook or paper in IEEE and APA 7?
IEEE gives initials first, the edition after the italic title, and the city, US state and country before the publisher; APA 7 puts the year second, the edition in brackets after a sentence-case title, and no place (IEEE, 2025; American Psychological Association, 2020a).
A textbook, from its ISBN
The fourth edition's ISBN, 9780262046305, went into Cite a source (no account, no charge). It returned, in APA and IEEE:
Cormen, T. H., Leiserson, C. E., Rivest, R. L., & Stein, C. (2022). Introduction to Algorithms (4th ed.). MIT Press.
T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein, Introduction to Algorithms, 4th ed. MIT Press, 2022.
Two fixes: APA wants Introduction to algorithms, and IEEE wants the place, "Cambridge, MA, USA: MIT Press, 2022", as the third edition's entry gave it. That entry had no edition statement, so add "3rd ed." if you read it.
A chapter of a textbook
When one team wrote the whole book, APA references the book and puts the chapter in the citation (American Psychological Association, 2020b), as in (Cormen et al., 2022, Chapter 20). IEEE writes [1, Ch. 20], or [1, Algorithm 5] for one algorithm. Chapter numbers belong to one edition (in the fourth, Elementary Graph Algorithms is chapter 20), so match readings by title. Edited books have their own chapter rules.
A conference paper, from its DOI
The 6.033 paper has the DOI 10.1109/SP.2013.13. Cite a source returned:
Szekeres, L., Payer, M., Tao Wei, & Song, D. (2013). SoK: Eternal War in Memory. In 2013 IEEE Symposium on Security and Privacy (pp. 48–62). IEEE. https://doi.org/10.1109/SP.2013.13
L. Szekeres, M. Payer, Tao Wei, and D. Song, “SoK: Eternal War in Memory,” in 2013 IEEE Symp. Secur. Privacy, May 2013, pp. 48–62, doi: 10.1109/SP.2013.13.
APA cites proceedings in a book like an edited-book chapter (American Psychological Association, 2020c), and James Cook University Library (2026) says to omit an editor the proceedings do not name, as Cite a source did. The record files "Tao Wei" as one name, printed as filed rather than guessed; the byline makes it Wei, T.:
Szekeres, L., Payer, M., Wei, T., & Song, D. (2013). SoK: Eternal war in memory. In 2013 IEEE Symposium on Security and Privacy (pp. 48–62). IEEE. https://doi.org/10.1109/SP.2013.13
In IEEE, write T. Wei and “SoK: Eternal war in memory.”
Documentation and software
From the tutorial's address, Cite a source returned The Python Tutorial. (n.d.). Python documentation. Retrieved September 23, 2026, from https://docs.python.org/3/tutorial/index.html. The footer credits the Python Software Foundation, and the /3/ address names no minor version; that day it served 3.14.7, also at /3.14/. So:
Python Software Foundation. (n.d.). The Python tutorial. Python documentation. Retrieved September 23, 2026, from https://docs.python.org/3.14/tutorial/index.html
The retrieval date stays: the footer showed the page updated that same day, and APA keeps one for pages that change over time (American Psychological Association, 2026). Software common in your field needs no APA reference; a specific package takes its version and [Computer software] (University of Queensland Library, 2026).
Saved to a free EdCitation account, a list downloads as Word, as BibTeX for LaTeX and Overleaf, or as RIS. See the IEEE referencing guide for the rest of the style, and whole books in four styles.
Where can I find computer science books in one place?
The best tool for assembling a computer science reading list is EdCitation's Library, because one list's books are split across publishers, editions and instruction sets, and the Library lists them together. Tracing this guide's editions took three universities and four publishers; one Library search for Computer Organization and Design, newest first, returned 23 records with the MIPS, RISC-V and ARM editions together.
What the searches found
The Library sorts its catalogue into 31 disciplines, Computer science among them; narrowed to the Textbook kind, that discipline held 8,102 books on 23 September 2026. CLRS brought up the 2022 fourth edition first, the 2009 third lower down, and translations into five languages. Operating System Concepts returned 74 records, many of them access cards and e-text packages, so pick the one whose ISBN is the book.
Every result card names the authors, publisher and year beside the cover, and marks the book as readable in the Library or one to purchase. From that card: buy a paid copy, see which nearby libraries hold it, add it to My Books, or turn it into a reference in one click. Max adds the larger part, over 5 million books that can be read in full or borrowed, compiled by EdCitation for students and readers; a whole degree's reading then sits in one account.
What needs an account, and what needs Max
A free EdCitation account is enough for the catalogue, My Books, the links to buy and the search for a copy in a nearby library. Reading and borrowing come with Max ($24 monthly, $216 yearly), which includes Theoretics QA too. Cite a source and Verify references work without signing in; compare plans on Pricing. The same is done for nursing, psychology and engineering.
Quick questions
Which algorithms textbook do computer science students use?
Introduction to Algorithms by Cormen, Leiserson, Rivest and Stein, known as CLRS, which MIT's 6.006 and two Edinburgh courses name in its third edition.
Should I buy the third or fourth edition of CLRS?
The one your course names. The fourth, from April 2022, adds chapters on bipartite matchings, online algorithms and machine learning, so match readings by chapter title.
How do I cite a conference paper in IEEE?
Authors with initials first, the title in quotation marks, "in" and the abbreviated proceedings name in italics, the date, pages and DOI. EdCitation's Cite a source builds it from the DOI; check names against the paper.
Is there a free computer science textbook?
Yes. MIT publishes Mathematics for Computer Science under a Creative Commons licence, Think Python is free online, and Computer Networks: A Systems Approach is open source.
Where can I find computer science books in one place?
EdCitation's Library puts them in one catalogue that you narrow by discipline, kind, language and year. Bookmark titles into My Books; Max opens over 5 million books for reading in full or borrowing.
References
- American Psychological Association. (2020a). Book/ebook references. APA Style. https://apastyle.apa.org/style-grammar-guidelines/references/examples/book-references
- American Psychological Association. (2020b). Chapter in an edited book/ebook references. APA Style. https://apastyle.apa.org/style-grammar-guidelines/references/examples/edited-book-chapter-references
- American Psychological Association. (2020c). Conference proceeding references. APA Style. https://apastyle.apa.org/style-grammar-guidelines/references/examples/conference-proceeding-references
- American Psychological Association. (2026). Webpage on a website references. APA Style. https://apastyle.apa.org/style-grammar-guidelines/references/examples/webpage-website-references
- Cormen, T. H., Leiserson, C. E., Rivest, R. L., & Stein, C. (2009). Introduction to algorithms (3rd ed.). MIT Press. https://mitpress.mit.edu/9780262033848/introduction-to-algorithms/
- Cormen, T. H., Leiserson, C. E., Rivest, R. L., & Stein, C. (2022). Introduction to algorithms (4th ed.). MIT Press. https://mitpress.mit.edu/9780262046305/introduction-to-algorithms/
- Downey, A. B. (2024). Think Python: How to think like a computer scientist (3rd ed.). O'Reilly Media. https://greenteapress.com/wp/think-python-3rd-edition/
- Hennessy, J. L., Patterson, D. A., & Kozyrakis, C. (2025). Computer architecture: A quantitative approach (7th ed.). Elsevier. https://shop.elsevier.com/books/computer-architecture/hennessy/978-0-443-15406-5
- IEEE. (2025). IEEE reference style guide for authors (Version 3.28.2025). IEEE Author Center. https://journals.ieeeauthorcenter.ieee.org/wp-content/uploads/sites/7/IEEE_Reference_Guide.pdf
- International ISBN Agency. (n.d.). What is an ISBN? https://www.isbn-international.org/content/what-isbn/10
- James Cook University Library. (2026). Conference papers. APA (7th edition) referencing guide. https://libguides.jcu.edu.au/apa/articles/conference-papers
- Kurose, J. F., & Ross, K. (2026). Computer networking: A top-down approach (9th ed.). Pearson. https://www.pearson.com/en-us/subject-catalog/p/computer-networking-a-top-down-approach/P200000013385/9780135429334
- Lehman, E., Leighton, F. T., & Meyer, A. R. (2015). Mathematics for computer science. MIT OpenCourseWare. https://ocw.mit.edu/courses/6-042j-mathematics-for-computer-science-spring-2015/resources/mit6_042js15_textbook/
- MIT OpenCourseWare. (2018a). Memory corruption assignment: 6.033 Computer system engineering (Spring 2018). https://ocw.mit.edu/courses/6-033-computer-system-engineering-spring-2018/pages/week-13/memory-corruption-assignment/
- MIT OpenCourseWare. (2018b). Syllabus: 6.033 Computer system engineering (Spring 2018). https://ocw.mit.edu/courses/6-033-computer-system-engineering-spring-2018/pages/syllabus/
- MIT OpenCourseWare. (2020). Syllabus: 6.006 Introduction to algorithms (Spring 2020). https://ocw.mit.edu/courses/6-006-introduction-to-algorithms-spring-2020/pages/syllabus/
- Patterson, D., Snyder, L., & Ullman, J. (1999). Evaluating computer scientists and engineers for promotion and tenure [Best practice memo]. Computing Research Association. https://cra.org/resources/best-practice-memos/evaluating-computer-scientists-and-engineers-for-promotion-and-tenure/
- Patterson, D. A., & Hennessy, J. L. (2020). Computer organization and design MIPS edition: The hardware/software interface (6th ed.). Elsevier. https://shop.elsevier.com/books/computer-organization-and-design-mips-edition/patterson/978-0-12-820109-1
- Peterson, L., & Davie, B. (n.d.). Preface. Computer Networks: A Systems Approach. Retrieved September 23, 2026, from https://book.systemsapproach.org/preface.html
- Python Software Foundation. (n.d.). Sunsetting Python 2. Python.org. https://www.python.org/doc/sunset-python-2/
- Szekeres, L., Payer, M., Wei, T., & Song, D. (2013). SoK: Eternal war in memory. In 2013 IEEE Symposium on Security and Privacy (pp. 48–62). IEEE. https://doi.org/10.1109/SP.2013.13
- University of Edinburgh. (2026a). Algorithms and data structures (INFR10052) [Course descriptor]. https://www.drps.ed.ac.uk/26-27/dpt/cxinfr10052.htm
- University of Edinburgh. (2026b). Compiling techniques (INFR10065) [Course descriptor]. https://www.drps.ed.ac.uk/26-27/dpt/cxinfr10065.htm
- University of Edinburgh. (2026c). Computer communications and networks (INFR10074) [Course descriptor]. https://www.drps.ed.ac.uk/26-27/dpt/cxinfr10074.htm
- University of Edinburgh. (2026d). Discrete mathematics and probability (INFR08031) [Course descriptor]. https://www.drps.ed.ac.uk/26-27/dpt/cxinfr08031.htm
- University of Edinburgh. (2026e). Informatics 2 - Introduction to algorithms and data structures (INFR08026) [Course descriptor]. https://www.drps.ed.ac.uk/26-27/dpt/cxinfr08026.htm
- University of Edinburgh. (2026f). Informatics 2C - Introduction to computer systems (INFR08027) [Course descriptor]. https://www.drps.ed.ac.uk/26-27/dpt/cxinfr08027.htm
- University of Edinburgh. (2026g). Introduction to databases (INFR10080) [Course descriptor]. https://www.drps.ed.ac.uk/26-27/dpt/cxinfr10080.htm
- University of Edinburgh. (2026h). Machine learning (INFR10086) [Course descriptor]. https://www.drps.ed.ac.uk/26-27/dpt/cxinfr10086.htm
- University of Queensland Library. (2026). Software and mobile apps. APA 7th referencing style. https://guides.library.uq.edu.au/referencing/apa7/software-apps
- University of York. (n.d.). Computer science (BSc). https://www.york.ac.uk/study/undergraduate/courses/bsc-computer-science/
- University of York. (2026a). Intelligent systems: Machine learning & optimisation (COM00026I) 2026-27. https://www.york.ac.uk/students/studying/manage/programmes/module-catalogue/module/COM00026I/2026-27
- University of York. (2026b). Software 1: Foundations of programming for computer science (COM00015C) 2026-27. https://www.york.ac.uk/students/studying/manage/programmes/module-catalogue/module/COM00015C/2026-27
- University of York. (2026c). Systems & devices 1: Introduction to computer architectures (COM00011C) 2026-27. https://www.york.ac.uk/students/studying/manage/programmes/module-catalogue/module/COM00011C/2026-27
- University of York. (2026d). Systems & devices 2: Operating systems, security, & networking (COM00029I) 2026-27. https://www.york.ac.uk/students/studying/manage/programmes/module-catalogue/module/COM00029I/2026-27
- University of York. (2026e). Theory 1: Mathematical foundations of computer science (COM00013C) 2026-27. https://www.york.ac.uk/students/studying/manage/programmes/module-catalogue/module/COM00013C/2026-27
- Vardi, M. Y. (2009). Conferences vs. journals in computing research. Communications of the ACM, 52(5), 5. https://doi.org/10.1145/1506409.1506410