Computer Science
Homepage / Notes / Computer Science
Theoretical Computer Science
Programming Languages
Databases
Blockchain
Systems Programming
C
Assembly
Resources
Harvard CS61: Systems Programming and Machine Organization
Compilation
Ahead-of-time (AOT) compilation
When you compile code in advance, like in C / C++
Just-in-time (JIT) compilation
When code is compiled as it's being ran, but the machine code is being saved, so that the 2nd time a piece of code is being ran, it's very fast
What is LLVM?
Resources
Harvard CS153: Compilers
https://www.seas.harvard.edu/courses/cs153/2018fa/index.html
Cornell CS6120: Advanced Compilers: The Self-Guided Online Course
https://www.cs.cornell.edu/courses/cs6120/2020fa/self-guided/
Software Design Patterns
Singleton
Single instantiation of a class
Software Design Principles
Resources
Harvard CS51: Abstraction and Design in Computation
Functional Programming
Tacit / Point-free Programming
https://en.wikipedia.org/wiki/Tacit_programming A programming paradigm in which function definitions do no identify the arguments on which they operate.
Functional Algorithms, Verified
https://functional-algorithms-verified.org/
Higher-order Functions
A function that takes another function as an argument, and return a function
Resources
- https://github.com/xgrommx/awesome-functional-programming
- https://github.com/hemanth/functional-programming-jargon
Testing
Artificial Intelligence
Data Science
Data Formats
Shells
FPGA
Computer Science Tools
Operating Systems
UNIX
Linux
macOS
Virtualization
Tart
Tart is a virtualization toolset to build, run and manage macOS and Linux virtual machines on Apple Silicon.
OrbStack
Say goodbye to slow, clunky containers and VMs
OrbStack is the fast, light, and easy way to run Docker containers and Linux. Develop at lightspeed with our Docker Desktop alternative.
Windows
DevOps
Regular Expressions (Regex)
Application Layer Protocols
HTTP
Gemini
URI-scheme: gemini://
gemtext
Headings
# Heading
## Sub-heading
### Sub-subheading
Lists
* Item 1
* Item 2
* Item 3
Clients
- Lagrange
- …
Resources
Imposter's Handbook
Read the Imposter's Handbook? => Started on <2021-02-17> "Season 2" available for after => https://bigmachine.io/products/imposter-season-2/
Video format
https://bigmachine.io/products/imposter-video/
SymbolHound
SymbolHound is a search engine that doesn't ignore special characters. This means you can easily search for symbols like &, %, and π. We hope SymbolHound will help programmers find information about their chosen languages and frameworks more easily.
Phind
The AI search engine for developers.
List of Resources
https://csgordon.github.io/books.html
List of Stanford CS classes
https://docs.google.com/spreadsheets/d/1zfw8nPvJeewxcFUBpKUKmAVE8PjnJI7H0CKimdQXxr0/htmlview
Structure and Interpretation of Computer Programs (SICP)
https://mitpress.mit.edu/sites/default/files/sicp/index.html https://composingprograms.com/
Concepts, Techniques and Models of Computer Programming
by Peter Van-Roy
basecs
https://medium.com/basecs Exploring the basics of computer science, every Monday, for a year.
The Odin Project
https://www.theodinproject.com/home
Crafting Interpreters
http://craftinginterpreters.com/
Make a Lisp
Seven Languages in Seven Weeks
by Bruce A. Tate
Understanding Computation
by Tom Stuart
Theory of Computation
https://ocw.mit.edu/courses/mathematics/18-404j-theory-of-computation-fall-2020/
What Books Should Everyone Read?
https://cstheory.stackexchange.com/questions/3253/what-books-should-everyone-read
Browser Engineering
Software Design for Flexibility: How to Avoid Programming Yourself Into a Corner
by Chris Hanson and Gerald Jay Sussman
Foundations of Computer Science
http://infolab.stanford.edu/~ullman/focs.html
Preparing for technical interviews
NeetCode YouTube Channel - Review / solution of interview questions
https://www.youtube.com/c/NeetCode/videos
LeetCode
https://leetcode.com/ LeetCode is the best platform to help you enhance your skills, expand your knowledge and prepare for technical interviews.
Coding Interview University
https://github.com/jwasham/coding-interview-university A complete computer science study plan to become a software engineer.
Deep Learning Interviews: Hundreds of fully solved job interview questions from a wide range of key topics in AI
https://arxiv.org/abs/2201.00650
The 30-minute guide to rocking your next coding interview
https://www.freecodecamp.org/news/coding-interviews-for-dummies-5e048933b82b/
Lessons From A Tech Job Search
https://blog.nindalf.com/posts/tech-interview/
Job Hunting While Day-Jobbing
https://code.maiamccormick.com/2021/06/27/job-hunting.html
How to Pass a Software Engineering Coding Interview
https://www.danhacks.com/software/software-engineering-coding-interview.html
Cracking the Coding Interview
by Gayle Laakmann McDowell
Gaming CS Interviews
https://transitivebullsh.it/gaming-cs-interviews
Tech Interview Handbook
https://github.com/yangshun/tech-interview-handbook
Code: The Hidden Language of Computer Hardware and Software
by Charles Petzold
2nd Edition came out <2022-08-07>
Clean Code
by Robert Martin (Uncle Bob)
The Pragmatic Programmer
by Andre Hunt, David Thomas
Code Complete
by Steve McConnell
The Mythical Man-Month
by Fred Brooks
Coders at Work
by Peter Seibel
Teach Yourself Computer Science
Open Source Society University
https://github.com/ossu/computer-science
8483's web development notes
Refactoring Guru
Putting the "You" in CPU
Performance Engineering Of Software Systems
https://ocw.mit.edu/courses/6-172-performance-engineering-of-software-systems-fall-2018/