The common pattern for async programming:
2. Placeholder style (future, promise and deferred)
Becoming a better Programmer / Computer Scientist
(source: some website I stumbled across , let me know if you know which one)
I think it would be a mistake to restrict the “logical and analytical thinking skills” that make “an awesome programmer” to logical puzzles and math problems. Sure math and logical skills are important, but analytical…[Read more]
Learning software design
So it is with software. First one learns the rules. The algorithms, data structures and languages of software. At this point, one can write programs, albeit not very good ones. Later, one learns the principles of software design. Structured programming, modular…[Read more]
Learning design patterns will make you much better software engineer
List of top CS blogs https://proftomcrick.com/2012/05/07/a-set-of-top-computer-science-blogs/
Intro to OOP https://www.youtube.com/watch?v=3bMsY5a7cBo
Inspiring talk by Grady Booch on engineering large scale software systems. Must watch to understand where things came from. Can be helpful for choosing your area of research or even career
Quora post on how to learn programming – most of it applies to learning CS
1. You learn by doing. The only way to get better at programming is to actually program. Don’t let an analysis paralysis prevent you from ever starting.
2. Programming isn’t like studying for a test. Memorizing stuff doesn’t matter all that much.
4. Letting problem…[Read more]
At my first job I noticed how many things there are that many Computer Science departments won’t teach you. Things like software teamwork. Practical advice about user interface design. Professional tools like source code control, bug tracking databases, debuggers and profilers. Business things. Computer Science departments in the most prestigious…[Read more]
Mastering software design – Douglas Schmidt
When people begin to learn to play chess they first learn all the rules and physical requirements of the game. They learn the names of all the pieces, the way that pieces move move and capture, and the geometry and orientation of the board.
At this point, people can play chess, although they will…[Read more]
RSA / Public key encryption
One of the remarkable discoveries in computer science in the 1970s was a method called public key encryption, where it’s ﬁne to tell everyone what the key is to encrypt any messages, but you need a special private key to decrypt it. Because Alice and Bob use different keys, this is called an asymmetric encryption s…[Read more]
Introduction to AWS EC2 http://cdn.oreillystatic.com/oreilly/booksamplers/9781449393687-sampler.pdf
What is Software Architecture :
Came across se-radio.net where they do audio podcasts on different software topics.
What every computer science major should know
How to become a better programmer
List of practical projects that anyone can solve in any programming language https://github.com/karan/Projects