Welcome! This is a free course where non-programmers can learn about Y Combinator, one of the coolest ideas in computer science.
In this course, you’ll learn computer science concepts by solving emoji puzzles. No coding is required and you can do it from your smartphone or computer.
Quick demo: Here’s an example of the puzzles you’ll be solving. I’ll explain how it works later, but for now, try pressing Run and see what happens:
To get started: Press the button below to go to the next page!
If you want to learn more about the course before you get started, scroll down and keep reading. It should take only a few minutes to read.
This course consists of 5 beginner levels, 5 intermediate levels, and 5 advanced levels. It should take about 2 to 3 hours to read for most people.
↓ Press each title to jump to that page.
Have you heard of “Y Combinator”? If you’re into technology, you might have heard that Y Combinator is the name of a startup investing firm.
Y Combinator, the startup investing firm, has invested in more than 2000 startups since 2005. The combined valuation of top companies they invested (such as AirBnB) is more than $150 billion dollars as of October 2019.
However: In this course, we will NOT talk about this startup investing firm. Y Combinator is actually the name of an interesting concept in computer science, and that’s what we’re going to talk about.
In fact: The startup investing firm Y Combinator was named after this computer science concept. On their FAQ page, they say they chose the name “Y Combinator” because it’s “one of the coolest ideas in computer science.”
Furthermore: Paul Graham, a co-founder of this firm, said this in his 2010 interview when asked why he named his firm “Y Combinator”:
[Y Combinator is] a programming trick. … I wanted to call it Y Combinator just because I thought the Y Combinator was a really cool thing. So it would be the perfect name for picking out the kind of people that we wanted.
Hackers would look at this and think, “That’s so cool. They’re named after the Y Combinator. There must be something going on here.” And suits would look at it and think, “Y Combinator, what’s that?”
That was what we wanted. We wanted hackers to notice us, and suits, we didn’t care.
Explanation of the above quote: Paul Graham, a computer scientist, wanted to invest in entrepreneurs who are also programmers (“hackers” ). So he named his investing firm “Y Combinator”, which is a computer science (programming) concept, in order to attract hackers.
And because Y Combinator is a very technical concept, he assumed businesspeople (“suits” ) won’t understand what it means and therefore won’t be attracted.
But don’t worry: Even if you have no programming background, by the time you finish this course, you’ll understand what Y Combinator is.
Let’s now talk about this course.
You might be wondering: Why did I decide to teach Y Combinator for non-programmers? Why not other topics? Why non-programmers? Well, here’s my answer.
First: I studied computer science in college, and I can also say that Y Combinator is one of the coolest concepts in computer science I learned.
So, from a non-programmer’s point of view, by taking this course, they can learn one of the coolest ideas in computer science as quickly as possible, without having to learn to code or study other boring stuff along the way. It could be the fastest way for non-programmers to understand why computer science is interesting.
Second: I know that many of my non-programmer friends want to actually understand computer science concepts, such as AI or blockchain. However, they can’t learn these ideas because they don’t have the necessary programming knowledge. Pretty much all learning resources that teach computer science concepts assume that you know programming.
So I want to make it easier for non-programmers to learn computer science concepts as quickly as possible—without having to learn to code. This course is my first step in this direction.
Downside: I admit that this approach is not the best way to introduce computer science to non-programmers.
The ideal way to teach computer science would be to teach programming first. However, learning to code takes time, and most people—especially adults—won’t ever learn to code. As software is eating the world, I believe there need to be more ways to teach computer science without requiring programming knowledge.
If you’re a programmer, you should also check out this article of mine: “You Can Explain Functional Programming Using Emojis”.
In this course, I will teach you Y Combinator using puzzles. There’s no programming involved.
Let’s get started and take a look at what the puzzles look like. Press the button below to go to the next page.
Also, sorry for not introducing myself earlier…
About me: I’m Shu Uesugi, a full-stack developer based in California, USA.