ESP Biography

YUCHEN FU, 4th year undergrad studying mathematics.

Major: Mathematics

College/Employer: MIT

Not Available.

Past Classes

(Clicking a class title will bring you to the course's section of the corresponding course catalog)

M7801: P vs NP in O(1) Time in Splash! 2013 (Nov. 23 - 24, 2013)
The goal of this course is to show you a possibility to earn a million dollars. Now that I've hopefully gotten your attention, let me explain it in detail. Listed as one of the seven millennium prize problems by the Clay Institute, the P vs. NP problem is a very young (about 50 years, which is young in the math world) open problem that has been recognized by most computer scientists as a central question in theoretical computer science--in fact, some people would argue that it is THE ultimate question in the entirety of mathematics. In informal terms, it asks: Is verifying an answer to any question harder than solving the question itself? Indeed, so naturally simple is the question that it frustrated many brilliant scientists--include Richard Feynman--that the question is even an open one. But it is. And, after five decades of failed attempts, most mathematicians have now reached the consensus that we are far, far away from seeing even a faintest glimmer of a solution--or that of the million-dollar prize. So why is the P vs NP problem so hard? And what have we achieved in the past half a century, if not a solution? What lies ahead? These are among the many questions that we'll try to investigate in this class. Within the two hours that we have, we'll take a quick tour through the history of this problem, starting from Turing's genius ideas of the 1930s and ending with some research frontier discoveries of the 2010s. Along the way, we'll also see some of the impact of P vs NP on physics, "pure" mathematics and even popular culture. Of course, the class will involve a heavy load of abstract reasoning; moreover, many of the theorems are simply impossible to mathematically simplify (aka "dumb down"), so we'll use some mathematics that you probably never heard of. But don't be intimidated: as long as you enjoy math and love discovering the unknown, you'll find this class a truly enjoyable one. So, ready to hop in?

C7802: Reverse Engineering (aka serious hacking) in Splash! 2013 (Nov. 23 - 24, 2013)
Ever wondered how hackers actually get stuff done? How are exploits found? How are keygens made? Reverse engineering is a key to all of those things. In simple terms, the goal of reverse engineering is to take a compiled program and discover how it works without ever seeing the source code. This technique enables hackers to have very good (often complete) understanding of the behavior of the programs, and all the rest follow from there. Within the two hours that we have, we're going to do some quite serious work together, including decoding encrypted data, writing our own keygens, bypassing security checks and some other stuff--of course, all in a legal, safe, and education-oriented settting. In addition, we will also cover the legal aspects of reverse engineering--when are you allowed to reverse engineer, and what are you allowed to do with your product--which is of great importance as we deal with this rather "grey area" subject.