Awesome Open Source
Awesome Open Source


OpenLib.cs is a collaborative project to make textbooks, references, solution manuals and other resources freely available for students who are currently pursuing the following courses (or their equivalents) at university. As an open project, any member of the community can contribute his/her share to build an index of computer science references across the web.

Course Navigation

1st Year Courses

2nd Year Courses

3rd Year Courses



  • A directory is maintained for each course within which is a README that provides information regarding the course. The README may have the following sections if applicable :
    • Prerequisites - Courses that need to be completed prior to attempting the particular course
    • Textbooks - List of textbooks with links to their soft copies
    • Code - Implementation of course concepts
    • Videos - List of links of video explanations of course concepts
    • Websites - Useful websites
    • Articles - Cheat-sheets, tutorials, blog-posts etc.
    • Communities - Online forums related to the course concepts
    • Apps - Mobile apps that may enrich the learning experience
  • There are also scripts that provide certain useful features (WIP)


  • This repository provides links to the required study material such as textbooks, solution manuals and reference books.
  • Copies of the study material can be borrowed from the library while appearing for open-book exams. Moreover, printouts of the same can also be taken into the exam hall if required. Written notes are also allowed.

Computer Science Tracks



General Reference

Title Author(s) Edition
Computer Science Distilled Ferreria (2017)
Cheat Sheet on Theoretical Computer Science Stanford ICPC (2014)
Foundations of Computer Science Forouzan (2018)
The Art Of Computer Programming: Volume 1, Fundamental Algorithms Donald Knuth 3rd (1997)
The Art Of Computer Programming: Volume 2, Seminumerical Algorithms Donald Knuth 3rd (1997)
The Art Of Computer Programming: Volume 3, Sorting and Searching Donald Knuth 3rd (1997)
The Art Of Computer Programming: Volume 4a, Combinatorial Algorithms Donald Knuth 1st (2011)
Essays in Computing Science C.A.R Hoare & CB Jones (1989)
Programming Pearls Jon Bentley 2nd (2000)
Concrete Mathematics: A Foundation for Computer Science Graham, Knuth & Patashnik 2nd (1994)
Structure & Intepretation of Computer Programs Abelson & The Sussmans 2nd (1996)
The Pragmatic Programmer: From Journeyman to Master Hunt & Thomas 2nd (2010)
Selected Writings on Computing: A Personal Perspective Edsger W Dijkstra (1982)
On Computability With An Application To The Entscheidungsproblem Alan M Turing (1936)
A Protocol for Packet Network Intercommunication Vint Cerf & Bob Kahn (1974)
Information Management: A Proposal Tim Berners Lee (1990)
List Of Important Publications In Computer Science Wikipedia

Source Code

We do not condone plagiarism. Use these for reference.


  • Kindly see the guidelines before contributing to this repo.
  • You can also contribute by sharing! ☺️
  • Share this list with your batchmates, friends or anyone just interested in Computer Science! β™₯️
  • By connecting more people with information, you are doing everyone a HUGE favor.

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
python (48,575)Β 
library (1,222)Β 
algorithms (392)Β 
computer-science (146)Β 
university (38)Β 
acm (15)Β 

Find Open Source By Browsing 7,000 Topics Across 59 Categories