(playful music)
- Hi everybody and welcome to Code Break.
Last week, we had over 18,000 total viewers
between Zoom and Facebook.
This week we have viewers from all around the world,
not only throughout the United States,
but as far south as Chile and as far east
as India and even China.
We have viewers coming from New York, from Spain.
Together, we're hoping to build the world's largest
live interactive classroom, whether you're a student
or a parent joining us today, if you're enjoying this,
and if you enjoy, whether it's the community
or the education, please invite other parents
and families to join us.
Together, we're hoping to build the world's largest
live interactive classroom to provide not only education
and an hour of childcare at a time when students
are at home, but also a sense of community
and a place people can get together
at this time when we're all studying alone.
I want to introduce my daughter and sidekick, Sophia.
- Hello. - To join us.
(playful music)
And today we have two very special guests joining us,
renowned actor and entrepreneur, Ashton Kutcher.
Ashton, are you there with us?
- I'm here.
How's it going?
- Good, how are you doing?
- [Ashton] I'm lovely.
- And then we have cybersecurity professional
and former NSA engineer, Mia Gil Epner.
Mia, are you there?
- I am, hi, everyone.
- Good to see you, Mia.
- [Mia] Good to see you, too.
- [Hadi] Where are you joining us from today, Mia?
- I am joining from Berkeley, California, in my living room.
- And you now work at a cyber security company
called Expanse, but you used to work
for the Department of Defense in this sort of spy agency.
I'm looking forward to hearing about your work later.
But we're going to start for the first 20 minutes
with Ashton 'cause he has a limited amount of time.
Ashton, where are you calling from?
- I'm calling from my house in Los Angeles.
- All right, so what have you been doing
with all this extra time we have?
- Well, I've been in my house now
for about four and a half weeks.
And I have two kids, one's five and one's three.
So we're spending a lot of time doing homeschool.
And we figured out, as many of you figured out,
that the best way to do homeschool,
is to actually outsource it.
And so we have a lot of our friends
calling in with 30-minute teach me anything's with our kids,
which has been just awesome,
and trying to do a little bit of work.
We have a lot of companies at Sound Ventures,
which is my investment fund, and a lot of these companies,
given the sort of economic times that we're all about
to face are facing a lot of changes.
So I've been working with a lot of them
as to how they can make the changes inside their companies
in order to sort of not only survive,
but thrive through this period of time.
And beyond that, I've been working hard
to get PPE, personal protective equipment,
into hospitals around the country, and figuring out
how to get broad-based testing
syndicated as widely as possible.
So just pounding away and trying to do my best
to stay busy, but also just having a lot of fun.
I don't spend a lot of time at home
because I'm working so much.
So it's really exciting for me to actually just be home
and find the precipice of being bored
because when you finally let your mind
get to the point where you're bored
that's when you start to get creative, I think.
- Yeah, well, for the homeschooling
for your five year olds, you're welcome to have them
join Code Break each week for one hour.
Our show starts with stuff that the youngest kids
can even follow along, so at least the first half hour of it
should be pretty fun.
Do you have any thoughts to share
with the students who are all at home,
all schools are closed basically all around the country,
and all around the world, almost a billion students
are now at home.
- Yeah, I mean, here's the thing,
when I was in school, this would be like a dream,
like not having to go to school.
It seemed like it would be like a dream for me.
But then you're faced with the reality of it,
you're like, wait a second, I kind of want to hang
out with my friends.
And actually, when I'm at school, it's really fun
and I learned things.
And so I guess my advice is like, actually,
the coolest thing is, is when you're at school
at the time you kind of have to do and learn
just what everybody else is learning
and when you're doing the homeschooling stuff,
you may have a little bit more time to learn and focus
on the things that you really care about and build things.
Because I really do think that the brightest
and coolest things that are gonna be built
are gonna be built by you guys, and you're building
the future right now whether you know it or not,
because the thoughts and ideas that you're getting
in your head, those are going to be the future.
And I'm excited to live in your future.
- All right, well, I'm home with my family as well.
My daughter, Sophia, joins us each week
partly to learn, partly to keep me in check.
She's got an app to make sound effects.
You want to make us a sound effect right now?
- Okay.
(laughing)
- So she's my daughter and a student and a co-host
and also part of the production crew.
And we're gonna-- - Fantastic.
- We're gonna start with this week's computer joke
of the day with Sophia.
So Ashton, what clothing does a computer programmer wear?
- A hoodie?
- Nope.
- Whatever is in the dress code.
- Ahh! - The dress code.
- Alright. - I like it.
- Yeah, I have to give a bad joke once a week.
Let's meet some of the live audiences on camera.
We have dozens of students on camera,
can everybody wave and say hi to Ashton.
- Hi! - Hello!
- Hi. - Hello.
- [Boy] Hi guys.
- Hi. - Hello.
- [Boy] Hi.
- Also, learn a bit about the rest of our audience.
Those of you who've been joining us each week,
you may notice that we've disabled the chat feature.
It's only accessible to the folks who are live on camera,
you can still see what those folks are typing
if you click chats.
But we had to disable this because last week,
some students used very offensive language.
I've written personal letters to the students
who acted this way, giving them a chance to apologize.
And we established a code of conduct for Code Break
to make sure everybody behaves in a way
that's consistent with being a respectful young adult,
whether in a classroom or a future career,
but we still have the opportunity to engage
our entire audience interactively, even without chat.
For example, to find out where everybody's from,
we use a geographic poll, and I'm going to screen share
this and, Ashton and Mia,
you can let us know if you're surprised
from some of the places that people are calling in from.
- Wow, that is impressive.
- [Hadi] There's a lot of people from Antarctica, it seems.
- I want to be in Antarctica right now,
you wouldn't have to worry about getting coronavirus.
- That's true.
There's people as far east as China
where it's very late in their day.
Now let's do another live poll.
We want us to get a sense of what grade the students are in.
So we're going to post a live poll
to have everybody enter your grade.
And this is going to come up on your screens.
Sophia, you want to fill out your poll right there.
All right, we're getting the answers coming in.
It seems like the biggest group
is in six to eighth grade,
but there's literally all grades represented.
- [Ashton] Wow.
- All right.
Can we, around 800 of you have voted.
So these are the poll results
for what grade students are in.
We have kindergartners all the way through 12th grades
and at least 16% of our audience is beyond K through 12.
Let's do another poll to find out
your computer science experience level,
because there's people who are total beginners
and people who are advanced
and we want to have something for everybody.
So if you could all enter your levels.
Sophia, you can enter yours too.
And what we're going to do each week
is we start with materials that's great for the beginners,
and then we'll get more and more advanced.
So if you're a beginner, the fast stuff at the end,
even if you can't follow along, you should just try
to watch it because you'll learn a little bit.
And if you're more advanced, it doesn't matter,
we'd love for you to be patient through the early stuff.
We'll try to make something that everybody can learn.
Alright, we have 70% of the audience having voted.
So if we could share those results on screen as well.
All right, yeah, you can see the majority of the group
that are intermediate, so as we go through this--
- Can I just say something about watching
advanced people work, you know, I always think
about programming or anything like this,
I always think about it like watching a basketball game
or a professional football game or something like that,
like when you watch people who are really, really great
and professionals and advanced at something,
it gives you ideas and inspires
how you could potentially work.
So it's really important to watch people
that are better at you doing stuff
because you'll learn tricks and ideas and things
and even though you don't completely understand
why they're doing everything they're doing
or how they're doing it, you can get inspired from it.
And someday you'll see yourself and look back
and go, oh wait, I remember when I was watching
that person that was way better
than me doing something.
So just think about like watching the NBA
or something like that.
You don't have to be that good at basketball
to watch and enjoy the NBA.
- Absolutely.
By the way, for the folks who are not going to be on camera
and really for all of you, if you have questions
during this episode, there's a Q button or Q&A button
which you can click to submit questions.
The team at code.org will answer many of your questions
live in real time and we're going to have some
of the best questions read out for Ashton
and also for Mia Gil Epner to read for us.
Today's episode, we're going to learn about encryption.
We're going to have three segments.
First, we're going to learn about a simple cipher.
Next we're going to learn about password strength,
which is something the adults can even benefit from.
And lastly, we're going to, in real time, code an app
to help us make passwords that are stronger
than the ones you probably use.
This is our third time doing this kind of a live
interactive format with thousands of people
on one Zoom call, so we are going to have glitches.
When we have glitches, we're going to learn
the important computer science concept called debugging.
(dog barking)
This is a bug.
And so please bear with us if we have any issues as we go.
So before we start the lesson,
we want to welcome two student groups
to demo their creations from last week.
Last week's challenge was to create an app
or an interactive card.
And each week when you share your creations with us,
we'll invite you on the show next week to share them.
So first, I'd like to introduce Hannah, Kristina,
Patucia, Sophia and Lily, this is a five-person team.
Can you all say hi, so we can see you.
- Hi. - Hi.
- And can we switch to gallery view as well
so folks can see all these students?
Alright.
So Hannah, can you say hello and tell us
where you're all from and introduce your teammates?
- Yes, we're all from Franklin, Massachusetts,
Franklin High School.
My teammates are Lily Crib, Sophia Saramedes,
Patricia Nudory and Elizabeth Paul.
- Alright, so I'm going to put your app on screen share,
and then you can describe the app for Ashton
to basically react to it.
So give me just one second.
And this is an app that this group made as a team.
Alright, can y'all see my app?
Right now go ahead and tell us about it.
- So the app we developed is based
on the mental health issues that occur among adolescents.
The prevalence of mental health issues
is largest among young adults
with approximately one in five teens suffering
from at least one mental health disorder.
These disorders can have a significant impact
on daily life and overall well-being.
Our goal is to create an app that aided students
in resolving these issues through the use
of various resources right at their fingertips.
Based on the structure of the app,
no matter what conflict the student is experiencing,
the app provides a solution accordingly.
The user begins by signing in or logging in.
From there, they choose a user friendly emoji
representing the current emotion.
They are then prompted to select the category of problem
that they are facing, if any.
From there, students are provided with multiple paths,
eventually resulting in a problem-specific solution
for the student.
With over 20 screens, the app allows for a resolution
to almost any problem equipped with back button
so students are able to navigate easily between screens,
especially if they're facing multiple issues.
Our hope is that with our app, teens will be more equipped
with the skills they need to develop
socially and emotionally.
Thank you.
- Wow.
So I found and try this app, tell me what should I do?
I guess I should click the welcome button.
- Yes.
Yeah.
- All right, I'm not gonna log in or sign up.
I'll use it as a guest.
So let's check in, Ashton,
how are you feeling today?
- I'm feeling fantastic.
- Well, that's pretty good.
Alright.
The app is glad to see you're doing so well.
Let's pretend-- - Thank you.
Thank you app.
(laughing)
- Let's try again and pretend we're not feeling as good
to see what Hannah and her team have prepared.
So what's a less good feeling?
- I am devastated and really sad and crying.
- Alright.
So, Ashton, what is bothering you?
- What is bothering me?
Boy, I'm just stressed out about my future plans.
- Future plans.
All right, are you worried more about college
or your standardized tests?
- Oh man, I'm worried about college.
It seems that I didn't go.
(laughing)
- Finding a college.
I think it sounds like getting into colleges,
you're worried-- - Probably, I should try
to get into a college since I've never gone.
Well, I tried to quit.
I dropped out.
- Alright, so you're worried about getting grades
or upcoming assessments.
Here are some resources.
So regardless of which subject you're in,
there's resources and websites that help you study
in this app.
- Oh, great.
That's fantastic.
- Let's switch to the next app.
And the next student is Sophie here with us as well.
- Hi.
- Hi, Sophie.
Where are you calling from?
- [Sophie] Bellevue, Washington,
- Bellevue, Washington.
Can you tell us about your app?
And then we'll screenshot and go through a demo?
- Yeah, yeah, so as a teen entrepreneur myself
of a fashion backpack business called Tosh and Bags,
I understand the value and importance of small businesses
in our time especially with the coronavirus.
So our local restaurants are truly
the heart of our community.
And Bellevue Bites offers a list of restaurants,
updated daily, near you that are offering
takeout or delivery discounts, because a lot of people
are on a tight budget right now, but still want to afford
to support local businesses.
So right now, Bellevue Bites serves the Seattle
and Bellevue area.
But we hope to evolve in the future.
And unlike Uber Eats and other food apps
that charge restaurants a fee per order,
Bellevue Bites lets the restaurant keep all the profits
and provides a free promotional platform.
We hope to help the local economy grow,
along with the small businesses that make it unique.
Thank you.
- All right, and how do I get into this app?
I guess I should click to find a restaurant near me.
- Yeah, you can click to find a restaurant near you,
and then, right now, it's in the Seattle and Bellevue area,
so let's say you're in Seattle,
so then now we have exclusive discounts with restaurants
that are partnered with us and if you click on their logo,
you can be taken to the website, for example.
Yeah, it'll take you eventually to the website.
And it's just a great way for small businesses
to connect and a resource for people in the community.
- Well, thank you so much for making this app
and for doing your part to help small businesses
deal with the crisis we're in.
These apps are all built on code.org's app lab.
And we are going to be, by the end of this episode,
demoing how easy it is to make your own app.
- Hey, Sophie, that app is awesome.
Can I give you one piece of advice?
So on every single page that you create with an app,
and this is the same advice like I gave,
and I actually learned this from Kevin Systrom,
who created Instagram, and what he always said to me
about product when I was learning about product
really early on, he was like every single page
of any app that you have, you have one thing
that you want the customer to do the most
and you have to make sure that that one thing you want
the customer to do the most is the most prominent thing
and the easiest thing for them to actually click.
And so it was funny when Hadi was looking at your homepage,
he had to kind of search for where to push, right?
Like what the first thing to click
was 'cause it was kind of hidden down in the bottom.
So try to always think about like,
what do you, as the creator, want the user to do
on every single page and make sure that that
is featured in some way.
That makes them think oh, I should probably push this.
- Yeah, yeah, so it's more,
yeah, I see what you're saying completely.
- Yeah, awesome.
- Thank you. - Great.
Yeah, sure.
- So today, we want to start today's lesson
and what we're going to learn about is encryption.
So today's computer science word of the day is encryption.
Thank you, Sophia, for making this song for us.
Encryption is how we protect data
by changing it into something secret
that nobody else can figure out unless they decrypt it.
And we're going to learn one
of the most simple ways to do this.
But Ashton, I first want to ask, what are some examples
of why it's important to protect data,
when you're using any of the top web sites
or apps in the world?
- Yeah, so one of the first things is that,
you know, everybody out there,
probably everybody on this call is a really good person
that's trying to do really good things in the world.
And there are some people out there that don't have
everybody's best intentions in mind.
And when our information and our data
is on different services, there's all kinds of things
that can be on different services.
So like what kind of phone you have,
where you're at when you're using your phone.
If you buy things and you put a credit card,
credit card information into your phone
or onto a website, all that information
gets stored in databases.
And when we're communicating back and forth,
and when these websites are communicating back and forth,
if that data isn't safe, and sometimes we, let's say,
we go to a shopping platform,
and it's a brand new shopping platform,
it's only a very little company,
and you put your information in there,
if that company goes out of business,
sometimes other companies buy your information
from that company.
And next thing you know, you have somebody who you really
wouldn't give your credit card information to,
or somebody that you really wouldn't give
personal information to, now they've got your data.
And so making sure that who we are, where we are,
who our friends are, what our banking
or credit card information is, is protected
is really, really important.
Because once it's on the Internet,
a lot of people can steal it,
and take it and use it for bad things
to steal money from us, to hurt people,
and, ultimately, to pretend like they're you,
if they want to.
And then they can go to other websites
pretending they're you, and spend your money that way
or ruin your reputation.
Like, imagine if somebody didn't really like you very much
and they wanted to make other people think
that you were a bad person.
They could take your identity and use it on another platform
and make you look like a really bad person
by saying some really mean things to people
and doing nasty stuff.
And we don't want that to happen.
- So today, we're going to learn about a really simple form
of encryption using a simple cipher
known as a Caesar Cipher, which was once used
by Emperor Julius Caesar in the Roman Empire.
Ashton, did you get the packet that we sent you?
- This packet?
- Yeah, it said don't open it until the live episode.
So I assume-- - You'll see
it's still sealed.
It is encrypted at this point within this envelope.
- Alright, so can you open it for us right now?
- Of course I can.
This is the most rudimentary form of encryption,
put it in a package.
Ah-ha, we have here a wheel.
- You have a wheel, that's a Caesar Cipher
that Sofia made for you.
- I didn't not, you drew it!
- Wait, we were supposed to say that you made it.
- No, you did. - Alright, fine.
Gave it up.
Well, I made-- - Oh, oh!
- [Mia] Called out.
- Flower to make it look like an 11-year-old made it.
Sophia was busy doing homework.
But what that wheel does,
you see two wheels inside each other,
and if you turn each one of them,
what it does is it can give you instructions
to replace one letter of the alphabets
with a different letter of the alphabet
to basically encode a message or to encrypt a message.
What we're going to do is Ashton is going to pick
a secret message and he's going to use this wheel
to encrypt it.
And I want you to choose a one-word message
to make it really simple and pick a position
on the wheel and map from one letter to another
to create a secret message.
And our entire live audience is going to try
to decrypt your message all at the same time.
So while Ashton is encrypting,
I'm going to show some slides now
for what we want everybody else to do.
So that you can basically decrypt Ashton's message.
So whoever is there on the audience,
whether you're on camera or not, take a look at my screen
for what I want you all to do.
Just one second.
I'm sharing my screen just right now.
Dum-to-dum-to-dum.
- Okay, there we go.
- All right.
Can you see my screen?
So what Ashton have there
is a Caesar Cipher built in a wheel?
Well, we're going to do is do it on paper.
So you are going to have an alphabet that looks like this.
But each one of you is going to have a different version
of this just like turning one of the wheels.
So there's a different point in the alphabet
mapping one letter to another letter,
and some of you will get lucky
if you get the right key to match
to what Ashton encrypts with.
So what I want you to do is take a piece of paper,
turn it sideways and, at the top of the piece of paper,
write the alphabet.
But plan ahead so you don't run out of space.
When Sophia did this the first time,
she ran out of space.
- [Sophia] I'm much better this time.
- So write the letters A through Z, all across the top.
Next, you want to pick a letter between B and Z.
This is your secret key.
It's like a password.
And you're trying to guess the secret key
that Ashton has picked.
After you pick your secret key,
write another alphabet directly below it
starting at the letter you picked, and letter by letter,
go underneath those ones and write all the other letters
of the alphabet.
And when you reach the end of the page at Z,
you want to start over. - Go back to the beginning.
- Yeah, you want to start over at the letter A.
I'm going to give you a little bit of time to do this
for the students who are in the audience.
And can I ask if you're in the audience
trying to do this, when you finish,
can you raise your hands so we have a sense
that you're done before we go on to the next step.
So you're going to need to end up writing two alphabets
and each of you is going to be choosing a different key.
All right, my computer is getting a little overloaded
from all these hands being raised.
- Wow. - All right,
so as you're doing this,
I'm going to go through to explain
what you're going to do next is Ashton's going to say
his secret message.
He's going to read it letter by letter.
As he does that, you want to write that down,
lower down on your piece of paper.
And then for each letter that Ashton reads,
you want to find that letter in the top row of your cipher
and look at the letter right below it,
and write that letter right below in the message.
And that way you can translate and some of you,
one out of 25 of you, will have picked
the same secret key as Ashton and you'll be able
to decrypt his message.
So it's going to be a question
of who gets lucky to decrypt his message.
Everybody who's live on camera
has been given a different secret key.
So we'll all be able to do this together at the same time
and see which ones of us can decode Ashton's message.
So Ashton, are you ready with your secret?
Super, double extra secret message.
- I'm ready with my double, extra, super, secret,
extra, super-duper-duper, the most secretest message
of all ever to have been created that was secret.
(laughing)
Secret.
- All right, so can you read out the letters one by one
and everybody write them down as Ashton reads them.
- Are you ready?
- Yes. - Yes.
- R.
D.
S.
T.
So I repeat.
I repeat.
R.
D as in duck.
S as in Simon.
T as in top.
- Alright, so those of you who are in the audience,
if you get the right answer,
we want you to, actually can we lower the hands of everybody
who's in the audience, not on screen.
If you're on screen, raise your hand.
Let's switch to gallery view
so we can see all the students at the same time.
And if you get the right answer,
please raise your hand and wave your hand.
And this is if you basically get a word
that you can read and it's a real English word,
raise your hand.
And it looks like about 43 people in the entire audience
or 47 people in the audience got the right answer
and one student has raised their hand.
Can we unmute him?
I think this is Itikaas.
Itikaas, hello.
- Yes, so the message is code.
C-O-D-E.
- C-O-D-E.
Wow, that's a great secret.
C-O-D-E.
Itikaas, where are you calling us from?
- India, Chennai.
- Wow, and what was Ashton's secret key in this case?
- RDST.
(talking over each other)
- So we were able to solve this as humans
with only 1000 of us in just a minute.
And we didn't have only one person do the work.
We had all of us spreading the work,
multiple people doing it at the same time.
So some of us got lucky to solve it correctly.
That's using a computer science concept
called distributed computing.
We spread the work, we distributed the work
with multiple people doing it at the same time.
But let's see how long it would take
for a computer to decrypt a similar message.
What we're going to do now is we're going to have
a computer app that basically does the same kind
of encryption that you all did.
But it does it much, much faster.
And I'm going to demo this
and then Ashton is going to encrypt another message.
So Ashton, would you mind encrypting another message
while I show this to everybody?
- Sure, I'm on it right now.
- All right, thank you so much.
So this here is a widget on code.org.
And we're going to send this to you via email
where you can write a message.
So I'm going to write Ashton's original message RDST.
And you can see the secret message here.
And over here, it shows what each of these letters
is being replaced with.
And then I can shift them one by one, letter by letter,
to see a change with each mapping.
You can see these letters here shift,
and a different version of Ashton's secret message.
And if we click enough times, we get to the right answer,
which is code.
So we are going to now do this again
with another secret message.
And for all of you,
Sophia is going to use the computer here.
Sophia, are you ready?
- Yes.
- And Ashton, if you could read out your secret message
and again, we want everybody to write theirs
and you're going to be racing against the computer,
which Sophia is going to be using.
So Ashton, let's, let's hear your new message.
- N.
R.
J.
Y.
Space.
P.
F.
L.
I.
Space.
Y.
R.
E.
U.
J.
- All right.
So now Sophia is going to try to decrypt this
using the computer while students in the live audience,
if anybody in the live audience gets it faster than Sophia,
(whispers)
raise your hands if you get it faster than Sophia.
Wow, there's already 15 people who raised their hands
and beat the computer at doing this.
- Ahh!
It's going lower and lower.
- Oh, I think you passed it.
There's Ashton super secret message, extremely secret.
Ashton was this your message?
- That was my message.
Wash your hands.
- Wash your hands.
And it looks like your key was the letter.
- J. - R.
No, the letter R.
- Oh!
- Why is your secret message wash your hands?
- Well, because right now with the coronavirus,
the best thing that we can all do for ourselves
to keep ourselves safe and keep the people around us safe
is wash our hands.
And so whenever we touch something or a surface
that we think anybody else has touched like a doorknob
or a handle in a bathroom or a faucet sink
and faucet handle, or a table or flat surface,
the best thing we could do is wash our hands
because the one thing that we know about this coronavirus
is that it does not like soap.
- Right.
So one thing we also saw is that a lot of students
were even faster than Sophia and the computer
at decrypting Ashton's message,
and that's partly because we use distributed computing.
It's also because the secret key Ashton picked
was just a letter from B through Z.
It's like a password that's one letter long,
and there's only 25 options
so it wasn't hard to crack.
But we're going to learn about stronger passwords
as soon as we learn more about encryption.
But before Ashton leaves, we want to give the audience
one last chance to ask him a question.
We had the students who are live on camera,
submit a bunch of questions and I want to introduce Dior.
Dior Cece, ere you there with us?
- Hi.
I just wanted to ask what have you learned about success
and what do you think would be helpful for students to know?
- What have I learned about success?
I think the biggest thing that I've learned
is that doing great things is uncomfortable.
When you work really hard, it's uncomfortable.
And the more that you can do things that are uncomfortable
and that are a little bit hard,
and that are a little bit of a stretch for you,
the more comfortable those things become.
And then next thing you know,
you're doing really, really, really hard things
that you couldn't have imagined yourself doing
and it seems easy.
And I think the biggest thing that I've learned
through my career and the advice that I would give myself
if I was your age, is that the people who are building
the coolest things in the world and the people
that you look up to and admire the most,
they're no smarter than you are.
They don't have some special gift.
They don't have some special thing that you don't.
You've got it too.
And you got to believe that you've got it.
And the more that you believe that you've got it,
the cooler things, the greater things
that you'll build in this world.
And you'll be the person that builds the things
that other people are looking at going,
wow, how did she do that?
I wish I could be a little bit more like Dior.
- Thank you so much, Ashton for your time with us.
I know we ran a little bit later than we expected.
I hope you stay healthy and safe.
Can the audience all say goodbye to Ashton.
Let's switch to gallery view
so we can see everybody.
Everybody say goodbye.
Sophia, do you want to play a little sound?
(clicking)
Thank you so much, Ashton.
- Awwh, thank you, thank you.
I appreciate it.
I hope to talk to you all soon.
- All right. - Keep up the good work.
- Thank you, bye-bye.
All right, Mia, we're gonna switch to you.
Is Mia there?
- I am here, hello.
- All right, so Mia used to work
for the National Security Agency, the NSA,
which is one of the top spy agencies in the world,
even while she was a college student,
studying computer science.
Working for the NSA is like the cyber security equivalent
of joining the navy seals.
It's like the ultimate elite.
So I first want to ask what did it take to get in?
- So it's not as hard as it might seem.
There are obviously some security concerns.
So you need to make sure
that you pass a clearance investigation,
you need to take a polygraph, stuff like that.
But in terms of computer science knowledge, really,
I just had to be willing to learn
and willing to study computer science.
So at the time I was in college,
I was majoring in computer science
with a focus in cybersecurity.
And a lot of the things that I did at my job,
I learned on the job.
They're things that they teach you there.
And it meant that it was a great opportunity
to get to expand my knowledge
past just what my college classes were teaching me.
- Great.
Well, we spent a whole bunch of time
encrypting secret messages and we use those as the password
that was as little as, you know,
going from D to Z or a single letter.
But now let's talk about real passwords.
What are some tips you can give us
for creating good passwords?
- Well, you should definitely never say
your real password aloud to anyone,
especially on a video call with a 1000 people watching.
But anyway, Hadi, what's your password?
- Ha-ha, nice try.
Let's not talk about my password.
But Sofia, what's your password?
- You already know my password.
(laughing)
- Wait, the whole message is you're not supposed
to share your password.
Don't tell people that I know your password.
You're supposed to say I'm not going to tell you.
But speaking about passwords, Mia,
what's the name of your favorite pet and the street
you grew up on?
- Hmm, I'm not going to tell you that one either.
- But jokes aside, is it safe to use things
like your favorite pet or the street you grew up on
for security purposes?
- It's not.
So for example, I talk about my cats
Ponyboy and Dr. Wisconsin, who I love dearly, all the time.
So anyone who knows me, just a little bit,
will know that those are my pet's names
and that they can try to use that
as a security question answer or as a password
for any of my accounts.
I hope none of my friends would do that.
But they might.
- So if all this information about us is on the Internet
and social media and people can figure out things about us,
why are companies still using these types of things
for security questions?
- That's a really good question.
It's difficult because for security questions,
you're usually not going to be entering them
very frequently.
So you probably won't remember them.
That's why it's much easier to use something
that you'll never forget, like your first car's make
and model, or your pet or the street you grew up on
because these are things that are just ingrained
in your memory and you won't forget them.
It's a constant sort of struggle
between usability, making sure that the system is usable,
and that you can give an answer versus security,
giving something that people would not be able to guess.
- So one of the things you want to do
is you want the audience to get take a guess
at what is the best password to use
or the safer password choose,
the harder one for a computer to guess.
So we're going to do a lot of interactive poll
and show two password options and we want everybody
to guess, which is the more secure password,
which is harder for a computer to guess.
So could we put the poll up on the screen?
It's still not showing, all right there.
I think we see it.
So everybody take a guess at which password
is more secure AZR@D%1 or catdoghousepandabear?
Which of these is harder for a computer to guess?
Alright, we have almost half the audience
has already taken your guesses.
All right, let's show the results on the screen.
All right.
So what you can see is almost everybody
guessed that hard to read, pronounce,
unpronounceable password is more secure.
It has symbols.
It has letters.
It has uppercase letters, it has numbers.
Mia, what do you think?
- So I think it's a lot harder for a human
to maybe guess the first password,
the one that starts with an A, but I think it will be harder
for a computer to guess the second password.
- Really, so you think everybody's wrong?
- Yeah. - Or most everybody's wrong.
Let's use an app built on code.org app lab
to see which of these passwords is easier or harder.
So this app is a how secure is your password app,
and it basically measures how long it would take a computer
to crack a password.
So the first password we tried was AZ3@D%1.
And it says a computer would take two hours
to crack this password, just two hours,
which is a lot of time for computer working.
Do you remember the second password, Sophia?
What was it, do you remember?
- Catsdoghousepandabear.
- Housepandabear.
That was a much easier password to remember.
And it would take, what is that number?
- It's a big number.
- It's a big number, 6 trillion trillion years
for a computer to crack this password.
So it turns out Mia was right about this.
And can I ask whether do people like the idea
of having an app that measures how fast your password is?
If you want this app yourself,
this is the app, it's built on app lab.
This is the code for the app, you can see it.
But if anybody wants to check your own passwords at home,
if you have a phone, you can scan this QR code right here,
hold your phone camera up to this QR code
and the camera should pop up a little URL.
So it will actually take you to the app
if you click that notification.
And you can all type in your own secret passwords,
don't show it to somebody else.
But this app will tell you how strong your password is,
and how fast a computer would be able to crack it for you.
This is something I think all the adults on the screen
and at home could also benefit from because all of us
play a role in keeping our computers and our data safe.
So again, you can scan the QR code,
we'll also send it to you via email as well.
I'm going to stop the screen share now.
So Mia, why is it more secure to do that long password
that had such easy words rather than this super strange one
with the symbols?
- Because for computers, the thing that matters
is how long the password is.
If you think about having a one-character password,
there are 26 letters, nine digits,
something like 13 special characters.
So they're, you know, maybe 50 options
that can be that one-character password.
If you have a two character password,
then you have 50 times 50 options,
because each character means you have to try everything
from the characters before plus everything
for that last character.
Every time you add another character to your password,
it gets even harder, it adds more,
so it's an exponentially increasing problem.
That means that when you make a password super, super long,
it becomes almost impossible for a computer
to use a reasonable amount of time
to try to guess that password.
It has to try every single option
before it can get to the one that you've chosen.
- A lot of us have been learning about exponential growth
and exponential numbers in the last few weeks
when we're talking about the spread of a virus
over the length of a password exponential growth
and exponential numbers make the same difference as well.
Before Mia says goodbye to us,
we have time for asking one question.
So do we have questions from the audience?
Akiera, do you have a,
I want to introduce Akiera Gilbert from code.org.
She's basically producing Code Break behind the scenes
to share a question from the audience with us.
Akiera are you there?
- Hi, I am.
How are you?
- Great, thank you.
Where are you calling from?
- I'm calling from New York.
So it's been a great time so far.
At the epicenter in the US.
All right, so what's the question for Mia?
- The question about the app is, first of all,
is it safe to enter your password into a second party app,
which I think we could answer very well.
- That's a great point.
You shouldn't enter your app, sorry, enter your password
into second party apps usually because you don't want
that app to store the password.
In this case, we can see the code that we're using
for this app, you can see that it doesn't store anything.
So you can be pretty sure that it's just going to calculate
the amount of time that it'll take
and then it throws it away.
It won't save it, and no one will be able to access it.
- Sounds great.
Thanks, Mia.
- [Mia] Yeah.
- All right.
Yeah, and in general, you should never type your password
on a screen on a computer.
Unless you see the lock in the browser.
Without the lock there, it's actually dangerous
because that means anybody on the Internet
can read what you're typing.
Whether it's a password or credit card, anything,
it's open for the entire world to tap into
unless you see the lock in the browser.
All right, Mia, thank you so much for your time
and stay safe and healthy.
Everybody say goodbye to Mia.
- Thank you.
I hope all of you stay safe and healthy as well.
Have fun.
Enjoy the rest of this lesson.
- All right, thank you.
All right, so next we're going to switch
to this week's trivia question.
It's trivia time.
(playful music)
So the question is what was the release year
of the first commercial computer with a display screen?
We're going to put a live poll up
for people to see the options.
So you know, all of our computers and phones
and everywhere you see a computer right now,
they have a screen.
But the question is, what was the first computer,
commercial computer that had a screen?
Because before they didn't have screens.
When was the computer screen introduced?
There's four different choices we have up on screen.
And it's not obvious which one there is.
I'm watching the audience live guesses come in.
And they are all over the map.
Ranging from 1945 all the way to 1976.
All right, if we could put
the audience guesses up on screen.
So it shows some of you thought it was in 1945.
The Nyack computer.
The Nyack was a 27-ton computer
that actually used punch cards with holes in them
to represent information.
They didn't have screens at the time.
After the Nyack, they used paper tape
to actually show, basically, the results
of what a computer was calculating
would be shown on paper tape.
The correct answer, let me share my screen.
So you can see a photo of this beauty
is the PDP-1 computer built in 1959.
This entire thing you see on screen is this giant computer
with all these wires and stuff behind it.
This computer today would fit in the size
of a grain of sand almost.
And this here is the screen that it had.
This screen didn't have colors,
it only had one color to show.
It also couldn't even show words on screen,
it could only draw lines.
So if you use the artist app on code.org, or logo,
or things like that, when you move forward
turn left to draw lines.
That's the only thing it could do.
- Or in Python. - Or in Python, yes,
which Sofia does.
But that's all it had as a screen.
So that's the answer for today's computer trivia question.
So now I want to switch to the last part of our episode,
the making of an app to make strong passwords.
We all saw how it's good to have strong passwords
and you don't actually want to have passwords
with weird symbols in them unless you can remember them
and they're really long.
But actually, the strongest passwords
can just have a bunch of words.
So we're going to have a teacher
and a student join us to make this.
So the teacher is Kaitie O'Brien.
Kaitie, are you there with us?
- Hi, yes, I am.
- So Kaitie used to be a math teacher
and she decided to teach computer science
and code.org put her through training to learn
to become a computer science teacher.
She loved it so much that then she started training
and preparing other computer science teachers,
and we loved her work so much that then she joined
the code.org team to help run
the professional learning program
that is teaching computer science to teachers
all around the country.
Over 100,000 new computer science teachers
have gone through this training.
So she's going to introduce a student.
- Yes, we have Nina with us.
- Hello.
- Nina, where are you from?
- I am from the Twin Cities in Minnesota.
- Twin Cities in Minnesota
and you took our CS Principles class with code.org
last year, is that right?
- I did.
- [Hadi] Great, did you like it?
- I did like the class.
It was one of the most enjoyable classes I took last year.
- That's awesome.
Yes, CS Principles has now become the most popular
computer science class in high schools
all around the country.
So for any student out there who's in high school,
I encourage you to take CS Principles
if your school offers it, and if your school
doesn't offer it, please ask the principal
to add it to the school calendar.
So now let's build our app to make strong passwords.
Kaitie, are you ready?
Can you walk us through it and have Nina--
- Yeah, Nina's gonna screen share for us,
and she's going to actually build it out herself.
Nina, are you ready to share your screen?
- [Nina] Got it.
- Awesome.
All right, so Nina here is in a blank app.
There's nothing there.
And we're going to just kind of show you how
to get some of the user interface or the UI set up.
So Nina, will you switch into design mode?
- There we are.
- All right, fantastic.
And she's going to drag over some
of the design toolbox elements.
Let's just do a button and a label for right now.
- There we have the button and the label.
- Fantastic, now she can very easily change how it looks
by changing the theme of the app.
She could also change the individual colors,
make it something she likes, but if you click
on the background, Nina, and then select a few
different things that you think are interesting.
- Okay, let's see what we got.
Let's see what robot looks like.
Okay. - It's not my favorite.
- Yeah, okay.
What's another?
What's another?
You know, ketchup and mustard really calling my name.
- That seems like a winner.
I like that.
Yeah.
All right, so we can do all sorts
of different themes in there.
So that's design mode in app lab.
But it's not where we're going to be working today.
We're going to be working in code mode.
So, Nina, can you go to our app that we are designing?
- There it is.
- All right, excellent.
It looks like we have a little bit of extra stuff
on the screen.
We're just gonna ignore that for right now.
- I have no idea what it is.
- That's okay.
So here we've got our user interface on the left hand side
all set up for us already.
And we have a list of words
that we might use in our password.
If you're a panelist who's on the screen right now,
can you click on the chat in the right hand corner
and type some words that you think we should have included
in our word list for our passwords.
So I'm seeing baby, Nina.
Do you want to add that?
Frog?
- Oh, I can't spell, oh my gosh.
(laughs)
Okay, baby.
- [Kaitie] Yep, let's do frog.
Oh my gosh, okay.
- And jellyfish.
- Oh, jellyfish.
Jellyfish are so cool.
- All right, so we just added a few more things
to our word list here.
And we're going to want the app to make a password
for us when we hit click me.
So for that, we're going to need an event handler.
Nina, will you drag one of those out for us?
- [Nina] There we go.
- Great.
And then you're gonna switch it
so that when they click on the click me button,
this stuff will happen.
Whatever we tell the computer we want it to do.
- There we go.
Awesome.
- Great.
From there, we're going to want the computer
to take some information from the user.
We're going to want it to take the number of words
in the password which is going to be shown by the slider.
And then we're going to want to have it create a password.
So, Nina, can you make two new variables for me, please,
one for the number of words and one for our new password.
- Okay, so let's make a
password.
And this is going to be, what should we call it word number?
- Yeah, that's good.
All right, great.
And so our word number is going to be got
or we're going to get our word number from the slider there.
So why don't you go ahead and get number.
And we're going to get it from that slider.
And then our password.
We don't have it yet.
So we're just going to give it an empty string.
So we're just going to do quote unquote.
Great, all right, thanks, Nina.
All right, Nina, so next we need to make our new password.
And so we wanted to add things to this password over
and over again from our word list.
So what are we going to need to use
if we want to do something over and over again
in our code?
- We are going to want a loop.
- Excellent.
We're gonna grab our loop for us.
All right, so our loop is going to run
some number of times and we want it to run as often
as we want that password like to be,
or the number of words in our password to be.
So what's going to go there instead of four?
'Cause we don't want it to run necessarily four times.
- We can reference the word number variable.
- Yeah, so we want it to run a word a number of times.
All right, and so now let's go ahead
and let's build our passwords.
So every time we go through this loop,
we want to add something new to our password.
So we're going to update the value stored in password.
And let's switch over to text mode for this.
I think that might be easy for us,
easier for us, Nina,
- [Nina] I agree.
- All right, so we're gonna update this password,
so it takes our old password.
And it adds to it a random word from our word list.
So in order to get a random word from our word list,
we have to get a random number.
The reason for that is, is because every single item
in our list has a number associated with it.
So for example, apple is the first item in the list
just like you write out a grocery list, the first one,
but it's actual number associated with it is zero.
So we're gonna want to get a random element from that list
that starts at zero to the very end.
So to access that value, good, Nina, you got it,
you got the word list, and we're gonna want to access
the element at a random number.
So the square bracket.
- Zero, two.
Yeah, wait. - Oh, you got it.
- [Nina] Yeah.
- So you have to make sure,
I think we want the random number first.
- Yeah, yeah.
Random number.
(talking over each other)
- Zero, two.
- And then we want to go to the end of the list
because we might want to add more words in here.
So we're going to do wordlist.link.
And we're going to do minus one
because we don't want to go off the length of our list.
Good.
All right.
Let's, yeah, we can-- - Should we go back to blocks?
- I think that's a good idea.
Looks like everything's good.
All right, let's go ahead and run our program
and test it out.
- Okay, moment of truth.
Will she work?
Okay.
We're gonna do like threeish words.
Okay, password, and nothing happened.
- Okay, why do you think that is Nina?
- We never told our program to put anything on the screen
to tell us what our password is.
- Exactly.
So we maybe did update the password,
but it's just not showing up on the screen
so the user can't see it at all.
So let's set the text of that text area
to be our new password.
- Text area is called password output.
We're going to set it to password.
- Excellent.
So that's going to take what's stored in password
and throw it on the screen for us.
All right, now let's test it.
Okay, second try.
Three words, sounds good.
Okay and password.
- Jellyfishfrogapple.
- It's a password.
- Let's try it again.
Make sure it still works.
- Click it.
Babyappleslaw.
- I kinda like that one.
- Babyappleslaw?
- Yeah. - I'm sure a computer
would have a hard time guessing it.
- Yeah.
Yeah, you want to try the slider too to make sure it works?
- Yes.
Let's go five words, max it out.
Okay.
Phew!
- Frogjellyfishapplebabyjellyfish.
That would take me a while to type out,
but it would be a stronger password for sure.
Okay.
Thanks, Nina.
- Yeah. - You'll see that
possible passwords is left blank.
That's going to be a challenge for the rest of the audience
to do for on your own time.
So we'll finish that a little bit later.
But I think we've had a really good start to our app.
Thanks, Nina.
- [Nina] Thank you.
- Thank you so much, Nina, and Kaitie.
So that app that we just built on the fly
lets you create your own password,
but it only had seven or eight words in it.
And I actually made a copy of Nina's app right now
because any of you might want to actually make
your passwords a little stronger.
This version of this app right now,
it has a word list of 1200 simple words in it,
that we downloaded from the Internet.
I basically copied Nina's code
and then added many more words.
So this is the same exact app,
but you can have the generator password of five words,
landroguepatchchutemocha.
And it can basically make passwords for you.
If you want this, you can scan this QR code
and have it on your own phone
and make strong passwords from now on
that are easy to remember.
And we're actually going to use this app
for the challenges for this week.
And so that gets us to this week's challenges.
We want you to try to use this app and improve on it
and there's a number of ways you can do that.
So if you enjoyed this show, what we want you to do
is to take a look at this week's challenges
which we'll send you an email.
If you haven't signed up already,
enter your email address @code.org/break.
If you do that, within the next hour,
we'll send you this week's challenges.
And then what those challenges
are going to include a bunch of things.
First of all, you get to get a piece of paper
that you can print out to make a Caesar Cipher widget
just like Ashton Kutcher had.
For the younger kids, you can then actually make
your own secret messages
and basically share them with a sibling
or with your mom and dad and have one of you
make a message and one of you try to decode that message.
For the younger kids, that's lots of fun.
Sophia and her brother-- - It is fun.
Yes, Sophia and her brother spent all weekend doing this.
And if you're a little more interested
in trying one of the harder challenges,
what you can do is take the app that we just got
that Nina built for us and add a bunch
of improvements to it.
We can improve the interface, we can basically count
how many types of passwords
or how hard a password is to crack.
One of the challenges is to show whether a password
is weak or strong depending on the password
that was created.
So please to get each week's challenges,
sign up with your email @code.org/break.
And what we're going to do like we just did this week
is whoever sends us in what they created,
we're going to showcase on the show next week
with next week's special guests,
whether that's a few (mumbles) super cool, secret message
that you want us to encrypt, or whether you made a really
nice version of an improvement on Nina's app.
Lastly, if you have feedback on how we can improve,
please fill out the survey
that we send you an email as well.
If you enjoyed this show, please spread the word
about Code Break.
We want each of us, every person here,
to invite at least one other or two other families
to join us next week to hopefully grow
the Code Break audience each week.
I want to say as we part ways,
thank you to all of our students on camera.
So if we could switch to gallery mode
and everybody wave your hands,
we're done with today's Code Break. (clapping)
Thank you so much.
And extra special thanks to our special guests
Ashton Kutcher and Mia Gil Epner.
If you're studying alone, take a Code Break.
Thank you, everybody,
and have a wonderful day. - Bye!
(uptempo music)