Here are links to some resources/textbooks on computer science and mathematics.
A list of some resources on Algebraic Complexity Theory compiled by Prerona Chatterjee: https://preronac.bitbucket.io/teaching/act/
Algebra and Number Theory:
Topics in Algebra by I.N. Herstein.
Abstract Algebra by David S. Dummit and Richard M. Foote.
Elementary Number Theory by David Burton.
An Introduction to the Theory of Numbers by Ivan Niven, Herbert Zuckermann and Hugh Montgomery.
Linear Algebra:
Linear Algebra by Hoffman and Kunze.
Introduction to Linear Algebra by Gilbert Strang. Also, check out the MIT-OCW lectures by Prof. Strang.
Linear Algebra by Jim Hefferon. Freely available at https://jheffero.w3.uvm.edu/linearalgebra/index.html
Algebraic Geometry
Ideals, Varieties and Algorithms by David Cox, John Little and Donal' O' Shea. Suited for people with CS background.
Lecture series by Prof. Dilip Patil: https://onlinecourses.nptel.ac.in/noc25_ma28/preview
Graph Theory:
Introduction to Graph Theory, Douglas B. West
Graph Theory, Reinhard Diestel. Older editions freely available at https://diestel-graph-theory.com/
Discrete Mathematics:
Concrete Mathematics by Donald Knuth.
Discrete Mathematics and Its Applications by Kenneth H. Rosen.
Computational Complexity Theory
Computational Complexity: A Modern Approach by Sanjeev Arora and Boaz Barak. Draft version available at https://theory.cs.princeton.edu/complexity/
Mathematics and Computation by Avi Wigderson. Draft available at https://www.math.ias.edu/avi/book
Complexity in Computer Science by Thomas Watson. Draft available at https://complexityincs.com/
Nand-2-Tetris (https://www.nand2tetris.org/). This is a course which walks you through how to build a (virtual) computer from the very fundamentals (basic AND, OR, NOT gates) to writing assemblers and compilers up to the operating system layer.