Computer science is the subject that studies what computers can do and investigates the best ways you can solve the problems of the world with them. It is a huge field overlapping pure mathematics, engineering and many other scientific disciplines. In this video I summarise as much of the subject as I can and show how the areas are related to each other.
A couple of notes on this video:
1. Some people have commented that I should have included computer security alongside hacking, and I completely agree, that was an oversight on my part. Apologies to all the computer security professionals, and thanks for all the hard work!
2. I also failed to mention interpreters alongside compilers in the complier section. Again, I’m kicking myself because of course this is an important concept for people to hear about. Also the layers of languages being compiled to other languages is overly convoluted, in practice it is more simple than this. I guess I should have picked one simple example.
3. NP-complete problems are possible to solve, they just become very difficult to solve very quickly as they get bigger. When I said NP-complete and then “impossible to solve”, I meant that the large NP-complete problems that industry is interested in solving were thought to be practically impossible to solve.