└── README.md
/README.md:
--------------------------------------------------------------------------------
1 | # Important Note
2 | These Books and Resources all use licenses that permit **at least personal (non-commercial) use**.
3 |
4 |
5 |
6 |
7 | #### ⚠️ This Collection is Work in Progress ⚠️
8 | ### To do:
9 | * Table of Contents
10 | * Complete 'Computer Architecture';
11 | * Add 'Operational Research' in 'Math';
12 | * Electricity Department a bit weak;
13 | * Complete Syllabus *(https://www.wikiwand.com/en/Bachelor_of_Computer_Science has a good list)*;
14 | * Deposit everything here (?)
15 | # Materials by Course
16 | ## Math
17 | * Preliminaries: [Precalculus](https://www.stitz-zeager.com/szprecalculus07042013.pdf)
18 | * Real Analysis:
19 | * Calculus I: [Basic Analysis I](https://www.jirka.org/ra/realanal.pdf)
20 | * Real Analysis (Calculus I & II): [Single Variable Calculus](https://www.whitman.edu/mathematics/calculus/calculus.pdf)
21 | * Multivariable Calculus: [Vector Calculus](https://anton-petrunin.github.io/calc3book/calc3book.pdf)
22 | * Calculus: [Calculus](https://ocw.mit.edu/ans7870/resources/Strang/Edited/Calculus/Calculus.pdf) *(recommended since it's generously illustrated)*
23 | * Linear Algebra:
24 | * [A First Course in Linear Algebra](http://linear.ups.edu/download/fcla-3.50-tablet.pdf)
25 | * [Linear Algebra, Theory & Applications](https://resources.saylor.org/wwwresources/archived/site/wp-content/uploads/2012/02/Linear-Algebra-Kuttler-1-30-11-OTC.pdf) *(complete and verbose; recommended)*
26 | * Statistics:
27 | * [Introductory Statistics](https://saylordotorg.github.io/text_introductory-statistics/)
28 | * Statistics with Python: [Think Stats: Exploratory Data Analysis in Python](http://greenteapress.com/thinkstats2/html/index.html)
29 | * Quick Reads:
30 | * [Permutations & Combinations](https://math.berkeley.edu/~arash/55/6_3.pdf) *(recommended)*
31 | * [Intuitive Guide to Convolutions](https://betterexplained.com/articles/intuitive-convolution/)
32 | * [Practical Guide to the Simplex Method of Linear Programming](http://math.jacobs-university.de/oliver/teaching/iub/spring2007/cps102/handouts/linear-programming.pdf) *(elaborate rundown)*
33 | * [The Art of Linear Algebra](https://raw.githubusercontent.com/kenjihiranabe/The-Art-of-Linear-Algebra/main/The-Art-of-Linear-Algebra.pdf)
34 | ## Theory
35 | * Theoretical Computer Science: [Foundations of Computation](http://math.hws.edu/FoundationsOfComputation/FoundationsOfComputation_2.3.2_6x9.pdf)
36 | * Quantum Informatics: [Lectures on Quantum Information Science](https://thosgood.com/quantum-info/book/)
37 | ## Physics, Electricity & Electronics
38 | * Physics: [College Physics](https://openstax.org/details/books/college-physics) *(online; pdf)*
39 | * Circuit Theory:
40 | * [DC Circuits](https://shareok.org/bitstream/handle/11244/52245/DC%20Circuits,%201st%20Edition%20-%20Davis,%202016.pdf?sequence=17)
41 | * [AC Circuits](https://open.umn.edu/opentextbooks/formats/807)
42 | * [Spinning Numbers](https://spinningnumbers.org/)
43 | ## Computers & Computer Architecture
44 | * Computers: [Digital Circuit Projects: An Overview of Digital Circuits Through Implementing Integrated Circuits](https://cupola.gettysburg.edu/cgi/viewcontent.cgi?article=1000&context=oer)
45 | * Operating Systems:
46 | * [Operating Systems: Three Easy Pieces](https://pages.cs.wisc.edu/~remzi/OSTEP/)
47 | * [Think OS](https://greenteapress.com/wp/think-os/)
48 | * [High Performance Computing](https://cnx.org/exports/bb821554-7f76-44b1-89e7-8a2a759d1347@5.2.pdf/high-performance-computing-5.2.pdf)
49 | * Complementary Resources:
50 | * [What Every Computer Scientist Should Know About Floating-Point Arithmetic](https://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html)
51 | * [Number Systems & Codes](https://ocw.mit.edu/courses/aeronautics-and-astronautics/16-01-unified-engineering-i-ii-iii-iv-fall-2005-spring-2006/comps-programming/number_systems.pdf) *(recommended)*
52 | * [The Linux Kernel](https://tldp.org/LDP/tlk/tlk.html)
53 | * [The Little Book of Semaphores](https://greenteapress.com/wp/semaphores/) *(for concurrent programming)*
54 | ## Systems
55 |
56 | ## Communication & Networks
57 | * Signal Processing:
58 | * [Think DSP](http://greenteapress.com/thinkdsp/thinkdsp.pdf)
59 | * [Signals & Systems](https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-003-signals-and-systems-fall-2011/lecture-notes/)
60 | * [Fundamentals of Electrical Engineering](https://cnx.org/exports/778e36af-4c21-4ef7-9c02-dae860eb7d14@9.72.pdf/fundamentals-of-electrical-engineering-i-9.72.pdf)
61 | * GIS:
62 | * [Essentials of Geographic Information Systems](https://saylordotorg.github.io/text_essentials-of-geographic-information-systems/) *(likely won't need it)*
63 | * Computer Networks: [Computer Networks: A Systems Approach](https://book.systemsapproach.org/)
64 | ## Algorithms & Data Structures
65 | * [Open Data Structures](https://www.aupress.ca/app/uploads/120226_99Z_Morin_2013-Open_Data_Structures.pdf)
66 | * [Think Data Structures](http://greenteapress.com/thinkdast/thinkdast.pdf)
67 | * Complementary Resources:
68 | * [CSMI 673: Concurrent and Distributed Programming](https://cs.lmu.edu/~ray/classes/cdp/) *(course notes)*
69 | ## Software Engineering & Databases
70 | * Databases:
71 | * [Database Design](https://web.archive.org/web/20190326200142/http://en.tekstenuitleg.net/articles/software/database-design-tutorial/intro.html)
72 | * [Relational Algebra](http://pages.cs.wisc.edu/~dbbook/openAccess/firstEdition/slides/pdfslides/mod3l1.pdf)
73 | * [Algebra of Bags](http://infolab.stanford.edu/~ullman/fcdb/aut07/slides/ra.pdf)
74 | * [Foundations of Databases](http://webdam.inria.fr/Alice/)
75 | * Embedded Systems:
76 | * [Embedded Controllers Using C and Arduino](http://www.dissidents.com/resources/EmbeddedControllers.pdf)
77 | ## Artificial Intelligence
78 | * [Artificial Intelligence: Foundations of Computational Agents](https://artint.info/2e/index.html)
79 | * [A Course in Machine Learning](http://ciml.info/)
80 | ## Cryptography & Abstract Algebra
81 | * Preliminaries: [Yet Another Introductory Number Theory Textbook](https://www.poritz.net/jonathan/share/yaintt.pdf)
82 | * [The Joy of Cryptography](https://web.engr.oregonstate.edu/~rosulekm/crypto/)
83 | * [Abstract Algebra: Examples & Applications](http://abstractalgebra.altervista.org/index.html) *(pdf; html)*
84 | # Languages & Tools
85 | ## Programming Languages
86 | * Assembly:
87 | * [SASM](https://dman95.github.io/SASM/english.html) *(there are also precompiled versions; you'll need a nasm/fasm binary)*
88 | * [Learn Multiplatform 8086 Assembly Programming for World Domination](https://www.chibialiens.com/8086/)
89 | * [A Tiny Guide to Programming in 32-bit x86 Assembly Language](https://cs.dartmouth.edu/~sergey/cs258/tiny-guide-to-x86-assembly.pdf)
90 | * C: [Think C](https://raw.githubusercontent.com/tscheffl/ThinkC/master/PDF/Think-C.pdf) *(recommended)*
91 | * C++: [The C++ Annotation](http://www.icce.rug.nl/documents/cplusplus/) *(complete; previous experience with C-like syntax langs recommended)*
92 | * Java: [Think Java](https://greenteapress.com/wp/think-java/)
93 | * Python:
94 | * [Think Python](http://www.greenteapress.com/thinkpython/thinkpython.pdf) *(I recommend learning Python; it's very useful)*
95 | * [Intermediate Python](https://book.pythontips.com/en/latest/)
96 | * [The Hitchhiker's Guide to Python](https://docs.python-guide.org/)
97 | * Lisp: [On Lisp](http://www.paulgraham.com/onlisp.html) *(Paul Graham's book)*
98 | * Java: [jGRASP](https://www.jgrasp.org/index.html) *(Educational IDE)*
99 | ## Computational
100 | * [Introduction to GNU Octave: A brief tutorial for linear algebra and calculus students](http://www.wcc.vccs.edu/sites/default/files/Introduction-to-GNU-Octave.pdf)
101 | * GNU Linear Programming Kit:
102 | * [For Arch Linux](https://archlinux.org/packages/extra/x86_64/glpk/)
103 | * [For Debian](https://salsa.debian.org/science-team/glpk)
104 | * [For Windows](http://gnuwin32.sourceforge.net/packages/glpk.htm)
105 | * [Reference Manual for v4.1](https://www.math.ucdavis.edu/~mkoeppe/lehre/opt1-2003/glpk-refman.pdf)
106 | * [A Tutorial of AMPL for Linear Programming](https://www.cs.uic.edu/~hjin/files/ampl_tutorial.pdf)
107 | ## Web-related
108 | * [Learn web development](https://developer.mozilla.org/en-US/docs/Learn)
109 | * [Eloquent JavaScript](https://eloquentjavascript.net/)
110 | * [PHP Apprentice](https://phpapprentice.com/)
111 | ## Digital Electronics Design
112 | * [Deeds](https://www.digitalelectronicsdeeds.com/deeds.html) *(actually good simulator software)* Contains:
113 | * Digital Circuit Simulator;
114 | * Finite State Machine Simulator;
115 | * Micro-Computer Simulator
116 | ## Operating Systems
117 | * [CPU Burst](http://cpuburst.com/)
118 | ## Correctness Verification for Concurrent Programs
119 | * [Spin](https://spinroot.com/spin/Bin/) *(you'll need to learn Promela in order to model for Spin)*
120 | * [Basic Spin Manual](https://courses.cs.washington.edu/courses/csep590/03su/Lectures/Promela.html) *(Promela fundamentals)*
121 | ## Other
122 | * [Missing Semester](https://www.youtube.com/playlist?list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J) *(recommended)*
123 | * [Advanced Bash-Scripting Guide](https://tldp.org/LDP/abs/html/index.html)
124 | * Quick Reads:
125 | * [10 Most(ly Dead) Influential Programming Languages](https://hillelwayne.com/post/influential-dead-languages/)
126 |
--------------------------------------------------------------------------------