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.
Author: Shu Uesugi (Twitter: @chibicode)
Published on:
Source code: Available on GitHub
Japanese translation: æ„æŹèȘçăŻăăĄă
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.