For a detailed perspective on how the proof works, I highly recommend Ernest Nagel and James Newman's book Gödel's Proof [0], mentioned in the article. Alternatively, Gödel Escher Bach by Douglas Hofstader is a classic which serves as a great (and more accessible) introduction to the proof [1].
There's so much more to CS theory than big O notation and you're in for a treat if you check out any of the below - happy to share more if people are interested.
Fair warning: this is the kind of book that you read with a notebook and pencil. Entire college courses are taught on it.
EDIT: Let me also point out that /u/Dartkun did a much better job of explaining how the word is actually used in gaming context than I did, and you should probably listen to them instead of paying any attention to my rambly attempt at humor.
I know this is kind of a heady suggestion, but if you're looking for something to really expand the way you're going to think about programming and other math concepts in the future, I would highly HIGHLY recommend reading [Godel Escher Bach, an Eternal Golden Braid]([https://toptalkedbooks.com/amzn/0465026567) ) .
I know it looks intimidating but hear me out. I just jumped into SE over the last summer and honestly, chugging through this book was one of the best things I could've done to get ready for school. It talks about math, art, many aspects of science, programming, recursion, logic problems and logic languages, representing certain things with other phrases (there's a portion where they code koans, which is a type of Buddhist poetry) etc etc. I've had a couple professors namedrop it as well. It's fascinating and endearing and frustrating and you'll certainly get out of it what you put into it and more if you're willing to keep an open mind.
by stcredzero 2017-08-19
If you want a good feel for this stuff, try downloading and going through this course, "NAND to Tetris": (Link is not the course, but a talk about it.)
The book is only $26, last I looked. The course software is all Open Source.
You'll see how digital logic is used to construct components like logic units and memory, which is then used to construct a computer, for which you create a computer language, which you then use to write an operating system, and finally, you program games on it.
This will then give you the wherewithal to really understand Godel-Escher-Bach:
If you want, you can read the book first, but then go through the course and read it again. The 1st time you read it, much of it will be lost on you, but the 2nd time, you'll have many Ah-HA! moments.
One key is Automata Theory. Understand that, and you can understand what you are trying to ask about.
MIT's OpenCourseWare is an excellent way for him to study CS on his own while in high school.
I would recommend, at 14, getting him utterly hooked on the mindset of CS and related subjects. Godel, Escher, Bach, etc. If you can get him fascinated with the field, he'll find all the information he needs on his own better than any list of required reading you'll get.
Repeated exposure to formal systems will yield a greater ease with which you engage those systems. Force yourself to read and evaluate theory more often. Read books such as Godel Escher Bach if you need practice.
It worked for me, but it wasn't easy by any means.
Because in any formal system with sufficient power (like modern mathematics) Gödel showed that it is possible to construct a statement that is true but cannot be proven. IIRC the statement boils down to "This statement is not a theorem". If it is a theorem (meaning it can be proven within the system) then it is true and so leads to a contradiction because it asserts that it is NOT a theorem. Assuming it is not a theorem does not lead to such a contradiction but then means that the statement is in fact true. So since one possibility leads to a contradiction while the other doesn't it must be that this statement is true but not a theorem (and therefore unprovable). If you are interested in this at a pretty informal level check out the fun and interesting book Gödel, Escher, Bach .
[0] https://www.amazon.com/G%C3%B6dels-Proof-Ernest-Nagel/dp/081...
[1] https://www.amazon.com/G%C3%B6del-Escher-Bach-Eternal-Golden...
1. https://www.amazon.com/Computational-Complexity-Approach-San...
2. https://www.amazon.com/Quantum-Computing-since-Democritus-Aa...
3. https://www.amazon.com/G%C3%B6del-Escher-Bach-Eternal-Golden...
4. https://www.amazon.com/Introduction-Theory-Computation-Micha...
See here if you want to know more.
Fair warning: this is the kind of book that you read with a notebook and pencil. Entire college courses are taught on it.
EDIT: Let me also point out that /u/Dartkun did a much better job of explaining how the word is actually used in gaming context than I did, and you should probably listen to them instead of paying any attention to my rambly attempt at humor.
Fairly certain that Josh will Recommend you Godel, Escher, Bach , but I think his Q&A (ep 100?) has some suggested reading as well.
I know this is kind of a heady suggestion, but if you're looking for something to really expand the way you're going to think about programming and other math concepts in the future, I would highly HIGHLY recommend reading [Godel Escher Bach, an Eternal Golden Braid]([https://toptalkedbooks.com/amzn/0465026567) ) .
I know it looks intimidating but hear me out. I just jumped into SE over the last summer and honestly, chugging through this book was one of the best things I could've done to get ready for school. It talks about math, art, many aspects of science, programming, recursion, logic problems and logic languages, representing certain things with other phrases (there's a portion where they code koans, which is a type of Buddhist poetry) etc etc. I've had a couple professors namedrop it as well. It's fascinating and endearing and frustrating and you'll certainly get out of it what you put into it and more if you're willing to keep an open mind.
http://video.google.com/videoplay?docid=7654043762021156507
The book is only $26, last I looked. The course software is all Open Source.
You'll see how digital logic is used to construct components like logic units and memory, which is then used to construct a computer, for which you create a computer language, which you then use to write an operating system, and finally, you program games on it.
This will then give you the wherewithal to really understand Godel-Escher-Bach:
http://www.amazon.com/Godel-Escher-Bach-Eternal-Golden/dp/04...
If you want, you can read the book first, but then go through the course and read it again. The 1st time you read it, much of it will be lost on you, but the 2nd time, you'll have many Ah-HA! moments.
One key is Automata Theory. Understand that, and you can understand what you are trying to ask about.
I would recommend, at 14, getting him utterly hooked on the mindset of CS and related subjects. Godel, Escher, Bach, etc. If you can get him fascinated with the field, he'll find all the information he needs on his own better than any list of required reading you'll get.
http://ocw.mit.edu/OcwWeb/web/home/home/index.htm
http://www.amazon.com/dp/0465026567
2. https://www.amazon.com/Big-Book-Concepts-MIT-Press/dp/026263...
3. https://www.amazon.com/Gödel-Escher-Bach-Eternal-Golden/dp/0...
Repeated exposure to formal systems will yield a greater ease with which you engage those systems. Force yourself to read and evaluate theory more often. Read books such as Godel Escher Bach if you need practice.
It worked for me, but it wasn't easy by any means.
Gödel, Escher, Bach: An Eternal Golden Braid - Strongly recommended by a teacher of mine at uni.
Because in any formal system with sufficient power (like modern mathematics) Gödel showed that it is possible to construct a statement that is true but cannot be proven. IIRC the statement boils down to "This statement is not a theorem". If it is a theorem (meaning it can be proven within the system) then it is true and so leads to a contradiction because it asserts that it is NOT a theorem. Assuming it is not a theorem does not lead to such a contradiction but then means that the statement is in fact true. So since one possibility leads to a contradiction while the other doesn't it must be that this statement is true but not a theorem (and therefore unprovable). If you are interested in this at a pretty informal level check out the fun and interesting book Gödel, Escher, Bach .