Beginner 1

Y Combinator for

A free course on one of the coolest ideas in Computer Science

Slide 1 / 5


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:

Try pressing Run

To get started: Press the button below to go to the next page!

Go to Next PageContinue to Beginner 1

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.

Scroll down to learn more
Slide 2 / 5

Table of Contents

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.

Author: Shu Uesugi (Twitter: @chibicode)
Published on:
Source code: Available on GitHub
Japanese translation: 日本語版はこちら

Slide 3 / 5

Introduction: Have you heard of “Y Combinator”?

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.

Y Combinator is actually the name of
an interesting concept in computer science

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.

Slide 4 / 5

Why teach Y Combinator for non-programmers?

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.

Why not other topics?
Why non-programmers?

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.

Non-programmers can quickly 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.

Non-programmers should be able to learn
computer science without having learn to code

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.

Slide 5 / 5

Let’s get started

In this course, I will teach you Y Combinator using puzzles. There’s no programming involved.

Learn Y Combinator using puzzles.
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.

Beginner 1
Japanese Site (日本語版) · About this Site · Twemoji