The field of computer science summarised. Learn more at this video's sponsor https://brilliant.org/dos
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.
You can buy this poster here: https://www.redbubble.com/people/dominicwalliman/works/27929629-map-of-computer-science?p=poster&finish=semi_gloss&size=small
Get all my other posters here: https://www.redbubble.com/people/dominicwalliman
And free downloadable versions of this and the other posters here. If you want to print them out for educational purposes please do! https://www.flickr.com/photos/[email protected]/
Thanks so much to my supporters on Patreon. If you enjoy my videos and would like to help me make more this is the best way and I appreciate it very much. https://www.patreon.com/domainofscience
I also write a series of children’s science books call Professor Astro Cat, these links are to the publisher, but they are available in all good bookshops around the world in 18 languages and counting:
Frontiers of Space (age 7+): http://nobrow.net/shop/professor-astro-cats-frontiers-of-space/
Atomic Adventure (age 7+): http://nobrow.net/shop/professor-astro-cats-atomic-adventure/
Intergalactic Activity Book (age 7+): http://nobrow.net/shop/professor-astro-cats-intergalactic-activity-book/
Solar System Book (age 3+, available in UK now, and rest of world in spring 2018): http://nobrow.net/shop/professor-astro-cats-solar-system/?
Solar System App: http://www.minilabstudios.com/apps/professor-astro-cats-solar-system/
And the new Professor Astro Cat App: https://itunes.apple.com/us/app/galactic-genius-with-astro-cat/id1212841840?mt=8
Find me on twitter, Instagram, and my website:
Hey thanks for all the comments! Yes I agree that I should have added in computer security alongside hacking. It is a huge and important field so I regret leaving it off. And I should also have mentioned interpreters along with compilers as this is an important concept, especially having coded a fair amount of python I have no excuses. I added a couple of notes in the video description.
Thanks for pointing these omissions out, and thanks for all the words of encouragement as well. I was trying something new with the graphic design on this one, trying to match the look to the subject matter and I think it worked out well.
Hello, i just bought a poster from you in the small size. It's an awesome poster and i was wondering if you had a good frame for it. I';m just not sure if 23.2" x 16.4" is a standard size. I keep seeing 23" x 16" and am not sure if that would work
Computers are getting smarter and smarter but still humans brains are way above as computers can't imagine all different sort of things like the human brains can do therefore we must find a way to make both comunicate way faster and more efficient than a keyword or mouse or a monitor it should be something directly accessed by our brain like a new organ in our body
One quick issue, Computer engineering is the study of how electricity forms digital circuits to carry out computations this has roots in physics and electrical engineering. Most of the things you put into Engineering falls under Information Technology.
Thank you very much for sharing the map. I really appreciate it. For now, I can't but one of your posters, but at least I can share your channel and videos with my love ones. I know they'll love your content as much much as I did.
Thanks again and I hope we may meet someday.
Greetings from Peru. :)
Heck no, GPUs aren't just for graphics. There is billions worth data centers run on NVidia GPUs. Also Nvidia GPUs revolutionized AI. That's the only reason why we have such advanced almost Skynet grade AI these days. The lack of processing power held us back. It wasn't the lack of neural network algorithms. Nvidia Tensor Cores are recent addition to supercharge AI. Even gaming GPU like the recent Turing Geforce got those cores. No, not AI for game NPC only. But for denoising ray traced images, and for upscaling in real time. I think before IBM's and Intel's neuro morphic chips aren't out, Nvidia will remain king with AI.
1:06 no, quantum computers are still equivalent to Turing machines. They can solve exactly the same problems TMs can, but sometimes they can do it faster. Not all Turing-equivalent systems need to have the same complexity characteristics (for example, addition is O(n) in Brainf*ck but O(log n) in most sane programming languages).
Also, modern computers don't really function like Turing Machines. Sure, they have a memory tape, but there's no concept of a "head". You dereference any pointer, anywhere; you don't need to meticulously move the tape head over to a region of memory in order to read or write to it. That would be unbelievably inefficient.
Moreover, most modern programming languages are far closer to the lambda calculus (even if they don't have lambdas). Turing machines have no concept of a "function" or an "expression". There's no modularity, in the sense that you can't write code that can be reused later without modification. Writing programs on a Turing machine is painful. Writing programs in the lambda calculus is actually relatively pleasant.
I don't think any Turing-equivalent system can be called "fundamental." The lambda calculus is the best model for most programming languages, but the lambda calculus is hard to actually simulate. When you're trying to prove a system Turing complete, it's best to target an extremely minimal system, such as a Minsky register machine, or bitwise cyclic tag, or the SK combinator calculus.
They "think" by the use of transistors. Without entering into details they are basically tiny, really tiny eletronic switches that control the way current flows just by positioning them and their wires together in logical and well defined positions, making logic gates. Thus it will be possible to represent the logic values true and false either when the current flows or not. The computer is a huge calculator and it calculates in binary base system thanks to the states of transistors (true/false, 0 1). That's basically how all eletronics work: doing calculations, even to represent colors, letters, images, videos, audios, everything. It's impossible to explain it here because it is a really complex topic. To understand it well you got to study base two system, boolean algebra, integrated circuits, computer architecture and a lot of other things.
it's not the metal, but the software. in a nutshell, you "teach" computers by feeding them with data, and depending on your instructions or algorithms, they learn and train from it by learning the patterns and minimizing their errors or mistakes so that the next time you show them a real different but similar pattern, they would learn to recognize or classify them.
To all of you with a interest in computer science and programming...
I just realized how important programming and computers are going to be in the future, and thus I concluded, that I‘m going to learn how to programm.
But honestly... I don‘t know that much about computer science, so I wanted to ask all of you:
Why are you so passionate about computer science?
Where should I start learning? What motivates you to keep learning?
What cool stuff can you do (with even small acchievements)?
How did your knowledge about Computers, programming etc. change your world view?
I‘m thankful for every comment, all advise and would love to understand more about this topic. Feel free to share your passion :D
Thanks in advance
how to read programming books:
First, don’t skip the introduction because most of these books describes how a language effects or deal with hardware or how the compiler works. second, work every instruction the book command you to do because it will definitely help you otherwise won’t make sense(why the author put it there in the first place).Third, go to every source the book command you to got to because it will gives you more knowledge about some subject; by the way try this android app, it helps you extract a URL without write it by hand ( https://play.google.com/store/apps/details?id=text.ocr.mostafa.extracturl ).Fourth, solve every problem the book gives you, it will teach you how to use what you learned and gives you more experience.
I HOPE THAT HELPED.
I want to teach myself Computer Science so badly. I wanted to major in it in college, but I was terrified I wouldn't be able to hack it, so I took Business instead because I felt it was easier to learn.
This is why sometimes a computer science degree is better than self teaching. These "bootcamps" usually only teach you the bare minimum for simple fields like web development. Self teaching for web development is a good idea, self teaching for AI: not so much.
After partnering with Wirex, the company was able to add XRP token support to its Visa card. Subsequently, the number of sign-ups and transactions on the platform had a considerable boost.
The very fine qualities of XRP continue to pull users and firms towards itself with the latest addition of Bitcoin Superstore. Earlier this year, Brad Garlinghouse, the CEO of Ripple said the only way of XRP decoupling from Bitcoin influence is through mass adoption.
This movement has supported the saying that the token has more utility than predicted and in fact the firm pushed up ahead and donated millions for humanitarian causes and charity. The first feedback was not that big, however judging from the most recent development Ripple is enjoying the last piece of the cake.
With the above announcement by Bitcoin Superstore via their twitter handle, users can almost in an instant complete settlements with XRP while purchasing from different retail outlets. These outlets being the leading ones like eBay, Amazon and others. If you choose to go for this option remember that XRP in the past has given out results of being cheap for both the merchant offering to accept the token and the user.
Or, even shorter, build a massive, level playing field in which assets can compete to bridge payments, then try to make XRP a winner on that playing field.
This is an ambitious, maybe even crazy, plan. But Ripple has raised tens of millions of dollars, has over a hundred full time employees, and our successes to date speak for themselves. That is, of course, no guarantee of success.