-
mtdvio/every-programmer-should-know
- A collection of (mostly) technical things every software developer should know about
-
TODO: Consider The 2012 ACM Computing Classification System?
-
[HCI]
-
[Data]
-
[Graphics]
-
[theory]
- [computerScience]
- github.com/papers-we-love Papers from the computer science community to read and discuss.
-
[ai]
-
[networks]
-
[game]
-
[web]
-
[legal]
-
[ehtics]
-
[privacy]
-
[hardware]
-
[books]
-
-
This repository is an attempt to answer the age-old interview question "What happens when you type google.com into your browser's address box and press enter?"
- [operating-systems] [networks]
-
-
Other knowledge bases
- Computer-Science-Resources
- Everything I Know - Another knowlege base (that's awesome)
- Programming, Math, Science
- This is a list of links to different freely available learning resources about computer programming, math, and science.
- [languages], [algorithms], [terminal], [graphics], [cryptography], [databases], [maths], [operating-systems]
-
Computer Science Data Structure, Algorithm, Angular, React, etc.
- Online snippets of loads of practical computing stuff
-
The Elements of Computing Systems, Second Edition Building a Modern Computer from First Principles
-
Harvard CS50
- cs50/x/2023 Harvard - CS50’s Introduction to Computer Science - Open CourseWare
-
MIT OpenCourseWare Computer Science #MITOpenCourseWare
-
Stanford CS101 - Introduction to Computing Principles
- IntroComputing.org
- Free materials for teaching the essential qualities of computers using little snippets of code in the browser.
- materials are based on Nick Parlante's Stanford CS101 course
- IntroComputing.org
-
Structure and Interpretation of Computer Programs Harold Abelson and Gerald Jay Sussman with Julie Sussman
- The material in this book has been the basis of MIT's entry-level computer science
-
Computer Science from the Bottom Up
- [operating-systems]
- process
- [[virtual-memory]]
- [[linker]]
-
- Project to build advanced uses of computer science
-
- GitHub list of learning computing by creating projects
- [web-apps], [interpereter], [networks], [opengl]
- Project Based Tutorials in C
-
@CompSciFact @CompSciFact
-
- Reading to get to the next level after a degree
-
10 Papers Every Developer Should Read
- Interesting set of papers for core concepts
- Self looks very interesting
- Interesting set of papers for core concepts
-
Teach Yourself Programming in Ten Years, Why is everyone in such a rush?
- Get Interested
- Program (you need to do it)
- Talk with other Programmers
- Uni gives you creds
- Projects with other programmers
- Projects after other programmers
- Half a dozen languages
- understand computer hardware operations
-
How can you not be romantic about programming?
-
Code, we say, can be: neat, nice, clean, crafted, baroque, minimal, solid, defensive, hacky, a hack, art, a piece of shit, the stupidest thing I’ve ever read, beautiful, like a poem.
-
Some lines of code are a riddle to anyone but their author and the name code serves as a warning. Other times, strangely, it’s a badge of honor.
-
-
- Funny web comic
-
Ask HN: What bits of fundamental knowledge are productivity multipliers?
- Regular expressions for simple text processing.
- Parser combinators for parsing.
- Parser generators (esp. packrat variety) for parsing.
- The concept of fuzzing and property testing for testing code.
- Calculus for solving all sorts of problems.
- MCMC for solving a huge class of probability problems.
- Search algorithms for solving a variety of problems (e.g. all NP-hard problems, sudoku, HTNs, scheduling, planning).
- Gradient descent for solving a variety of optimization problems.
- Vector Space embedding as a conceptual tool for a variety of complex AI problems.
- Effect composition (Haskell's IO or Scala's ZIO) as an incredibly powerful paradigm for concurrency and parallelism.
-
Software Engineering Body of Knowledge (SWEBOK)
- The Guide to the Software Engineering Body of Knowledge (SWEBOK Guide) describes generally accepted knowledge about software engineering. Its 15 knowledge areas (KAs) summarize basic concepts and include a reference list pointing to more detailed information
- SWEBOK Guide V3 Topics