Links to certain resources I've used over the years.
In particular, I can vouch for these resources's efficiency.
This article will be updated regularly.
Programming Languages
Haskell
C
C++
-
The Cherno's YouTube channel
Quick, informative explanations onC++
features likeauto
, smart pointers,#define
, etc.
Useful for programmers learningC++
.
HTML/CSS/JavaScript
-
30-minute crash course in front-end development
Microsoft's 30-minute crash course inHTML
,CSS
, andJavaScript
. -
One-month crash course in front-end development
Mozilla's guide to front-end development. -
Node, Express & MongoDB: Button click example
Make your first Node.js app with MongoDB. -
Currying and Function Composition in JS
Useful tips for currying and debugging function compositions inJavaScript
.
LaTeX
-
Not so short introduction to LaTeX
If you've always fought against LaTeX instead of embracing it, this article's for you.
Computer Science
Machine Learning
-
Introducion to Machine Learning
Andrew Ng's famous Machine Learning course.
Great course to learn your way up from regression and understand the math behind it, especially thanks to programming inMATLAB
. - Unit-testing ML code
Deep Learning
Obviously deep learning is a subset of machine learning, but I've separated here since they may attract different audiences.-
Deep Learning With Python
Learn how to useKeras
from the author of the library. If you're a beginner, you'll be able to do some cool projects and get a taste of deep learning. If you're an experienced machine learning programmer, you'll be able to learn how to effectively create your own models.
Automata Theory
-
Neso Academy
Good lightweight material to get a brief understanding of regular languages, pushdown automata, turing machines, etc.
Operating Systems
-
Operating Systems: Three Easy Pieces
Supremely readable OS textbook with homeworks & solutions. The best self-study textbook I've seen for any subject thus far.
Linear Temporal Logic
Very specific to formal methods.-
Joost-Pieter Katoen's Lectures on YouTube
Super clear lectures from a leading researcher.
Software Engineering
Tips
-
Software Engineering Advice
Deep Learning libraryKeras
author François Chollet talks about software engineering.
Text Editing
-
Seven habits of effective text editing
Learn to improve text editing efficiency from the author ofvim
Research
How to do research
-
How to Read a Paper
Simple guidelines on how to read a research paper. -
How to Write a Great Research Paper
Tips from Simon Peyton Jones (SPJ), a PL giant. Funny, and also very informative, giving you a new perspective on how to do research. -
How to Give a Great Research Talk
Another great resource by SPJ. In a recursive manner, embodies the talk in his own talk!