From aab39349662cf161dde75a9fea1d6b33c366f258 Mon Sep 17 00:00:00 2001 From: Shu Uesugi Date: Thu, 31 Oct 2019 09:29:28 -0700 Subject: [PATCH 1/3] Rewrite beginning --- src/components/H.tsx | 30 ++++++--------- src/contents/0.en.tsx | 86 +++++++++++-------------------------------- 2 files changed, 33 insertions(+), 83 deletions(-) diff --git a/src/components/H.tsx b/src/components/H.tsx index 1e552f0f6..dd2524278 100644 --- a/src/components/H.tsx +++ b/src/components/H.tsx @@ -957,14 +957,12 @@ const H = ({ args, highlightType, episodeNumberOverrides }: HProps) => { const question = ( <>

- If you have a question or a comment about this course:{' '} - - Please reply to the above tweet with a screenshot, or email me at{' '} - - shu@chibicode.com - - . - + If you have a question or a comment: Please reply to + the above tweet with a screenshot, or email me at{' '} + + shu@chibicode.com + + .

If you’re a programmer: @@ -980,20 +978,16 @@ const H = ({ args, highlightType, episodeNumberOverrides }: HProps) => { I’d also appreciate it if you could{' '} - ★ star the repo + ★ star the repo . 😉 - And please{' '} - - discuss this on Hacker News ( - - the discussion thread URL is here - - )! - {' '} - 😎 + You can{' '} + + discuss this on Hacker News + + . 😎


diff --git a/src/contents/0.en.tsx b/src/contents/0.en.tsx index 807ad025e..67f6e2285 100644 --- a/src/contents/0.en.tsx +++ b/src/contents/0.en.tsx @@ -52,26 +52,15 @@ export default () => ( , one of the coolest ideas in computer science.

- 🆓 This course is{' '} - 100% FREE (no signup required), and - you can do it from your smartphone, tablet, or computer. + This course is free (no signup + required), and you can do it from your 📱{' '} + smartphone or 💻 computer.

- - It’s 100% FREE, and you can do - it from -
- your smartphone, tablet, or computer - - } - />

🍱 Quick demo: In this course, you’ll learn computer science concepts by{' '} - solving emoji puzzles—no coding required + solving puzzles—no coding required . Here’s a quick demo. I’ll explain how this puzzle works later, but for now,{' '} @@ -79,10 +68,21 @@ export default () => ( try pressing and see what happens:

- + + You’ll see puzzles like this: +
+ Try pressing ! +
+ + ) + }, + { + type: 'meta', + title: <>Table of Contents, + content: ( + <>

- Roadmap: This course - consists of{' '} + This course consists of{' '} ( . It should take about 2 to 3 hours{' '} to read for most people.

- - - 5 beginner levels - }} - /> - - ,{' '} - - 5 intermediate levels - }} - /> - - ,
- and{' '} - - 5 advanced levels - }} - /> - - - } - /> -
- Press here to view the table of contents. - }} - > - Table of Contents: Press each title below to jump to - that page. - - + +

↓ Press each title to jump to that page.

+ ), footer: { From f259d7d9ba482252952b00ad4dbc1e2fd4b3dcb9 Mon Sep 17 00:00:00 2001 From: Shu Uesugi Date: Thu, 31 Oct 2019 09:58:19 -0700 Subject: [PATCH 2/3] Simplify intro --- src/contents/0.en.tsx | 315 +++++++++--------------------------------- 1 file changed, 68 insertions(+), 247 deletions(-) diff --git a/src/contents/0.en.tsx b/src/contents/0.en.tsx index 67f6e2285..c57884270 100644 --- a/src/contents/0.en.tsx +++ b/src/contents/0.en.tsx @@ -10,7 +10,6 @@ import { Hr } from 'src/components/ContentTags' import Emoji from 'src/components/Emoji' -import EmojiNumber from 'src/components/EmojiNumber' import CustomEmoji from 'src/components/CustomEmoji' import EmojiSeparator from 'src/components/EmojiSeparator' import BubbleQuotes from 'src/components/BubbleQuotes' @@ -22,19 +21,6 @@ import YoutubeEmbed from 'src/components/YoutubeEmbed' import { githubRepo } from 'src/lib/meta' import * as R from 'src/components/Runners' -const StarOnGitHub = () => ( - <> -

- Also, for programmers: This course is written in TypeScript - and React, and{' '} - - the source is available on GitHub - - . Please ★ star it! 😉 -

- -) - export default () => ( ( solving puzzles—no coding required - . Here’s a quick demo. I’ll explain how this puzzle works later, - but for now,{' '} + . Here’s a quick demo. I’ll explain how this puzzle works on the + next page, but for now,{' '} try pressing and see what happens: @@ -144,7 +130,7 @@ export default () => ( 🤔{' '} If you want to read the introduction before you get started, scroll down and keep reading! The - introduction shouldn’t take much time to read. + introduction should take only a few minutes to read.

( content: ( <>

- 🤔 Have you heard of “Y Combinator”?{' '} - If you’re into technology, you might have heard that{' '} + 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. {' '} @@ -178,20 +164,11 @@ export default () => ( The combined valuation {' '} of top companies they invested (such as AirBnB) is more than $150 - billion dollars as of October 2019. + billion dollars as of October 2019. 💰

- - Y Combinator is the name of -
a startup investing firm - - } - />

- ⚠️ However: In this course, we will - NOT talk about this startup investing firm.{' '} + 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 @@ -261,8 +238,8 @@ export default () => ( ]} />

- 👨🏻‍🦳 Explanation of the above quote:{' '} - Paul Graham, a computer scientist,{' '} + Explanation of the above quote: Paul Graham, a + computer scientist,{' '} wanted to invest in entrepreneurs who are also programmers (“ hackers😎) @@ -272,61 +249,28 @@ export default () => ( 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. + 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.

- - Hackers vs Suits: -
- To attract programmers -
- but not businesspeople, -
- Paul Graham named his investing firm -
- “Y Combinator” - - } - />

- 😉 But don’t worry:{' '} + 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!

- ), - footer: { - content: ( - <> -

- If you just want to get started: Press the button - below to go to the next page! -

- -

- Or, if you want to keep reading the introduction, - scroll down below! -

- - ) - } + ) }, { title: <>Why teach Y Combinator for non-programmers?, content: ( <>

- 🤔 You might be wondering:{' '} + You might be wondering:{' '} Why did I decide to teach Y Combinator for non-programmers? {' '} @@ -352,9 +296,8 @@ export default () => (

- So:{' '} - From a non-programmer’s point of view, by - taking this course,{' '} + 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 @@ -377,84 +320,33 @@ export default () => ( } /> -

But that’s not the only reason.

- Y Combinator is a difficult concept. If you ask a - random programmer in San Francisco to write the Y Combinator - program without looking it up,{' '} - I bet 95% of them won’t be able to do it.{' '} - It’s not easy. -

- - Most programmers won’t be able to -
- write the Y Combinator program -
- without looking it up - - } - /> -

- 🤔 So I thought: If I could teach Y - Combinator to non-programmers, that means{' '} - - I’d be able to teach{' '} - other difficult computer science concepts to - non-programmers too. - -

-

- And that’s important because… I know that{' '} + Second: I know that{' '} many of my non-programmer friends want to{' '} - actually understand difficult computer science - concepts + actually understand computer science concepts - , such as AI or blockchain. They genuinely want - to understand how modern software works (thanks to the latest tech - bubble). + , such as AI or blockchain. However, they can’t learn them because{' '} + they don’t have the necessary programming knowledge . Pretty much + all learning resources that teach computer science concepts{' '} + assume that you know programming.

- - Many non-programmers are -
- curious about how modern software works - - } - /> -

- But they can’t learn it because{' '} - - they don’t have the necessary programming knowledge - - . Pretty much all learning resources that teach difficult computer - science concepts assume that you know - programming. -

-

- 😠 I want to change this.{' '} + So{' '} - I want to make it easier for non-programmers to learn difficult - computer science concepts as quickly as possible + 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.

✨, 🤗, ]} description={ <> - I want to make it easier for + Non-programmers should be able to learn
- non-programmers to learn -
- difficult computer science concepts + computer science without having learn to code } /> @@ -468,9 +360,8 @@ export default () => ( introduction to computer science.

- The ideal way to teach computer science would be to{' '} - teach programming first. However, learning - to code takes time, and{' '} + 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. {' '} @@ -482,94 +373,6 @@ export default () => ( without requiring programming knowledge.

- ) - }, - { - title: <>How to teach Y Combinator for non-programmers, - content: ( - <> -

Now, how am I going to teach Y Combinator on this course?

-

- Puzzles, not programming: In this course, I will - teach you Y Combinator using{' '} - puzzles. There’s no programming - involved. -

- - Learn Y Combinator using puzzles. -
- No programming required! - - } - /> -

- The puzzles look like this: I’ll explain how this - puzzle works on the next page, but for now,{' '} - - try pressing the button. - {' '} - It will calculate {' '} - . -

- - You’ll be solving puzzles like this: -
- Try pressing ! -
-

- Eventually, you’ll be solving complex puzzles that - involve emojis like below. Again,{' '} - - try pressing and see what happens: - -

- -
-

- Also: These puzzles are{' '} - - optimized for 📱 smartphones - - . A lot of “learn to code” resources are either (1){' '} - great, but not smartphone-ready or (2){' '} - smartphone-ready, but not great. I tried to make - something that’s{' '} - - great and smartphone-ready - - . 😉 -

- - The puzzles are optimized for smartphones. -
- They can be done on a computer too - - } - /> -

- 100% FREE, takes 2 to 3 hours: Finally, this course - is 100% FREE (no signup required) - and should take about 2 to 3 hours{' '} - to read for most people. -

- 100% FREE!} - /> -

- I had to pack a lot of materials so it can be read in under 3 - hours, so it’s fast-paced and challenging.{' '} - However, you’ll never get stuck—I made it - so that you can finish the course even if you don’t understand - everything (and that’s okay! 🤗). -

- ), footer: { content: ( @@ -580,26 +383,22 @@ export default () => ( <>

For programmers: This course is optimized for - non-programmers,{' '} - - so if you’re a programmer and want to learn about Y - Combinator, there are other better resources. - {' '} - Press “Continue reading” below to learn more. + non-programmers, so if you’re a programmer and want to + learn about Y Combinator, there are other better + resources. Press “Continue reading” below to learn more.

- ), - afterText: + ) }} >

- - For programmers interested in learning about Y Combinator, I - recommend this video: - {' '} + For programmers interested in learning about Y Combinator, I + recommend this video:{' '} - “Y Not- Adventures in Functional Programming” + + “Y Not- Adventures in Functional Programming” + .

@@ -618,7 +417,14 @@ export default () => ( src="https://www.youtube.com/embed/FITJMJjASUs" />
- +

+ Also, for programmers: This course is written in + TypeScript and React, and{' '} + + the source is available on GitHub + + . Please ★ star it! 😉 +

) } @@ -627,9 +433,24 @@ export default () => ( title: <>Let’s get started!, content: ( <> -

- 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 required! + + } + /> +

+ Let’s get started and take a look at what the puzzles + look like.{' '} Press the button below to go to the next page! From 0d7611918e9ac4647fd14957f2289f3b0263c4e1 Mon Sep 17 00:00:00 2001 From: Shu Uesugi Date: Thu, 31 Oct 2019 09:59:38 -0700 Subject: [PATCH 3/3] Simplify --- src/contents/0.en.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/contents/0.en.tsx b/src/contents/0.en.tsx index c57884270..b465345e7 100644 --- a/src/contents/0.en.tsx +++ b/src/contents/0.en.tsx @@ -444,7 +444,7 @@ export default () => ( <> Learn Y Combinator using puzzles.
- No programming required! + No programming involved! } />