DAVID MALAN: Hello, world.
My name is David Malan.
And this is CS50 at Yale University.
Since 2015, CS50 has actually been offered to students
not only at Harvard, but also at Yale as well, where
we've had hundreds of students over the years who take most of the class
online in terms of lectures, but otherwise
have sections and office hours, lunches and more,
including their very own CS50 Fair.
And that's what we're about to go and see.
But first, just a glimpse at the beautiful building behind us,
where CS50 starts off every fall semester at Yale with week zero's
lecture.
Indeed, in addition to the live lecture we do in Cambridge at Harvard,
we also come on down and greet all of the students
and staff here for Yale's very first lecture on campus.
And thereafter, we're off and running for the rest of the semester.
In just a moment, you're going to see dozens, if not hundreds,
of final projects inside that the students are now presenting,
having worked on their final project over the past few weeks.
We're outside then the Tsai City building
at Yale, which is the Tsai Center for Innovative Thinking at Yale, a.k.a.
Tsai City.
Let's go inside.
On my right is CS50's own Jacob, who is kindly holding
the door so he can enter Tsai City.
And you're about to now meet CS50's own Winnie, who
is in 1/2 of a duck costume, but is here to introduce you to students.
Winnie.
WINNIE: Hi.
DAVID MALAN: This is CS50 online.
WINNIE: This is CS50.
Welcome, everyone, to the CS50 livestream for the fair at Yale.
We're going to be going through some student projects.
So I'll take you all along.
[CHATTER]
As you can see, it's a very crowded event today.
We have lots of CS50 students and Yale students
who have come to watch their friends.
[CHATTER]
Oh, Mayor Harry, would you like to say hello to the live stream?
MAYOR HARRY: Hello.
Welcome people of 50 ville.
WINNIE: Do you have anything you'd like to say for your candidacy?
MAYOR HARRY: I would say vote for Mayor Harry for consistency and knowledge
of computer science and your town.
WINNIE: Thank you.
[CHATTER]
Natalie, can I ask you about your project?
NATALIE: Yes.
WINNIE: Would you like to introduce yourself real quick?
NATALIE: Hi.
I'm Natalie.
And this is my partner Jocelyn.
JOCELYN: Hi.
I'm Jocelyn.
WINNIE: And what did you guys do for your project?
NATALIE: We created a web app called Nom Nom Network, which
is a culinary canvas, which allows users to search
for recipes based on their ingredients or the ingredients of their pantry.
So let's say-- we've already logged in.
So each user has their own account.
So for Yasmin's account, this is the home page,
which is the same for everybody.
We have a page for my recipes, which shows all the recipes
that the user has made in the past.
We've made three recipes.
We have a My Pantry page, which shows the ingredients
that you have in your pantry, so your pantry contents.
You can add ingredients.
Let's say flour.
Add Ingredients.
You could also remove it.
JOCELYN: You can also create your own recipe.
You guys have anything in mind to create for recipes?
WINNIE: Oh.
What's your favorite recipe?
JOCELYN: I like cookies.
WINNIE: Cookies?
JOCELYN: Yeah, so we could type in cookies.
I don't know the instructions off the top of my head.
But we can put bake.
And then ingredients, we can do cookie dough, cookie dough.
Oh?
Oh, there it is.
More a beginner type of recipe, maybe an hour and, let's say, two minutes.
So we can add the recipe.
And it shows up here, right here.
WINNIE: Wow.
That's great.
JOCELYN: Yeah, and you can also delete it too.
Let's say you're not really happy with that recipe.
You can delete it.
WINNIE: What was the most fun part of making your project?
JOCELYN: For me, I feel like it was the CSS.
I really liked the gradient and stuff.
WINNIE: The gradient?
JOCELYN: But I also liked working with the tables too.
I think that was-- it was a little complicated.
But it was fun, ultimately, at the end because now when you do a search,
you can do an ingredient search.
Let's say chicken.
And we generate recipes with chicken in it.
WINNIE: Oh, wow.
JOCELYN: Yeah.
WINNIE: It looks great.
JOCELYN: Yeah.
WINNIE: Well, congrats, you guys, on finishing.
JOCELYN: Thank you.
WINNIE: Thank you so much.
JOCELYN: Thank you.
WINNIE: Hello?
We're going to go the other way.
[CHATTER]
I see.
[CHATTER]
Hello.
Can I ask you about your project?
JACKSON: Hi.
Yeah, sure.
TOBY: Hi.
Yes, you can.
WINNIE: Here, would one of you like to hold this
so I don't have to reach over?
TOBY: Yeah.
WINNIE: If you could introduce yourselves real quick.
JACKSON: I'm Jackson.
I'm the class of 2025.
TOBY: I'm Toby.
I'm a sophomore, class of '26.
WINNIE: Amazing.
And what is your project?
JACKSON: You want to go?
Or should I?
TOBY: Yeah, no, we can--
I can talk.
Our project is this app that calculates how underground your music
taste is based on your Spotify.
Once you log in, you're redirected to this page.
You're asked to log in to Spotify.
We already are logged in.
So we can just go on from here.
And then going forward, we calculate your average popularity
score based on your top 50 artists.
Spotify attributes each artist with the popularity score.
So we just average that number.
And then you can go to Get Recommendations
if you want to talk about that.
JACKSON: So the Get Recommendations function is we use your top artists
and your top songs as seeds for the recommendation,
but then restrict all of the output to being at least 20 points less popular
than your average popularity score.
So then it gives you 10 song recommendations that
are based on stuff you might like--
WINNIE: Wow, that's great.
JACKSON: --but is not necessarily--
but is indexing less popular than what you're already listening to.
So if you want to listen to any of it, just click the image
and it'll take you right to it.
WINNIE: Amazing.
JACKSON: Yeah.
WINNIE: What was the hardest part of your project?
JACKSON: Integrating with the Spotify API, definitely.
WINNIE: I've heard it's pretty tricky.
JACKSON: Yeah.
WINNIE: So great job.
Great job.
JACKSON: Thank you.
WINNIE: Thank you so much.
TOBY: Thank you so much.
JACKSON: Thanks.
WINNIE: We'll keep going this way.
Excuse me.
I'm so sorry.
[CHATTER]
Hi, guys.
Can I ask you about your project?
DANIEL: Yeah, of course.
WINNIE: So what is your project-- or sorry, what's your name, first of all?
TOBY: Oh, my name is Daniel.
WINNIE: Daniel.
It's so nice to meet you.
DANIEL: Yeah, nice to meet you too.
WINNIE: What is your project?
DANIEL: My project-- or ours, actually.
My partner is not here with me right now.
But it's called En Passant.
It's a chess opening intro website.
And we mainly focused on these five chess openings.
And if you click on one of them, it actually
takes you to the Wikipedia page.
And in the Home page, which is this, we actually
have just some very basic information about them.
And we have this chess board, where you can play any move you want to.
And once you're done, you can press restart.
It let's you go back.
And in the Notation page, it lets you learn about what each piece actually
means in terms of notation.
WINNIE: Amazing.
DANIEL: And as well as there are board squares.
And once you think you've got it, you can actually try yourself.
And here we have three questions for you.
And you can look at these and answer them.
If you answer them in the wrong way, it actually shows the incorrect answer.
WINNIE: Oh, OK.
DANIEL: If you answer them in the right way, of course,
you get it in the right-- it says Correct up here.
WINNIE: Obviously.
DANIEL: And this board is just here to help you better visualize it.
WINNIE: What was the inspiration for this project?
DANIEL: Inspiration, because me and my partner Owen,
we both are starting chess.
We're not both very good.
So we thought to take this opportunity to learn more.
WINNIE: Yeah.
DANIEL: And chess--
WINNIE: Has it been helpful?
DANIEL: It has.
WINNIE: Amazing.
DANIEL: Definitely has.
WINNIE: Amazing.
DANIEL: Yeah.
WINNIE: Well, it's a great project.
Thank you so much for sharing it with us.
DANIEL: Yeah, of course.
There's actually more.
But--
WINNIE: Oh, there's more?
You can show me more.
DANIEL: Well, this is our main part of the project.
So it goes through each opening.
And you can actually press on these squares to move the pieces and go back.
WINNIE: Oh, I see.
DANIEL: And you don't have to play them in order.
You can play them separately as well.
WINNIE: Wow.
DANIEL: Yeah, just to show you what it looks like.
WINNIE: Yeah, that looks great.
DANIEL: Yeah, thank you.
WINNIE: Thank you so much for sharing it with us.
DANIEL: Of course.
WINNIE: Yeah, congrats on finishing CS50.
DANIEL: Thank you.
WINNIE: We can go back this way.
[CHATTER]
Let's see.
[CHATTER]
Shoshana, do you mind if I--
how are you?
SPEAKER 1: I'm great.
WINNIE: Would you like to say hi to the livestream?
SPEAKER 1: Oh, good.
I'll be part of the livestream.
WINNIE: You could just say hi.
SPEAKER 1: Hi.
WINNIE: Shoshana, can I ask you about your project?
SHOSHANA FROMER: Can you tell me what you're going to ask me first?
Is it live?
WINNIE: Yes.
SHOSHANA FROMER: Oh, hi.
[LAUGHS] Sure.
WINNIE: What's your name?
SHOSHANA FROMER: My name is Shoshana Fromer.
WINNIE: And what is your project?
SHOSHANA FROMER: So I translate songs.
And I have a special way of translating songs that accounts for both syllable
count and the meaning of the songs.
So this is a thing-- this is not a project.
But this is a thing I've created to help format it
and visualize what that means to account for two things at once.
So each of these tables is a verse table.
And you put in the direct-- the original song and then a direct translation,
like what exactly does the song mean?
And then this is created by these tables.
So each of these tables represents one line.
And each column represents the number of syllables in that line.
And so you take the direct translation combined
with the number of syllables you say, I need an eight-syllable way
to say this thing.
And you create that.
But here's the thing, this Google Docs is great.
But these are always going to be three tables.
These are always going to be two-two-two tables.
So you can make your own song and have it automatically formatted.
Let's make a song called Hello, world.
Hello, world by Shoshana.
Translator is David Malan.
And now you have autopopulated title, who it's by, and translator.
Let's say it's four verses in the first one, three for the next verse.
And you can go into each verse and count for the number of syllables
in each line.
So let's say it's 10 syllables.
It'll create a line for you that has 10 syllables.
And you can fill it in and upload to a database.
It doesn't work 100% right now.
But implementation is there.
It's saved into a database that can be uploaded in the future.
See, it just moves it to a random places.
But then you go back to the beginning.
And you can see that your song, Hello, world,
is in the list with all of the verses still associated to it.
Yeah, so that's my project to help me translate better.
It's very specific to me.
But it was a really fun thing to do.
And I'm really glad I took CS50 so I could make it.
WINNIE: That's great.
SHOSHANA FROMER: Yeah.
WINNIE: So true.
I did notice someone in the live stream recognized you
from creating the bingo card.
SHOSHANA FROMER: Really?
WINNIE: Yeah.
SHOSHANA FROMER: I'm a better bingo creator than I am a coder.
I'll say that.
WINNIE: Oh, no, it's great.
It's great.
Congratulations.
SHOSHANA FROMER: But yeah, I'm happy to try and make
anything more engaging for everyone who gets to listen
and have this wonderful class.
WINNIE: Thank you for sharing.
SHOSHANA FROMER: Of course.
WINNIE: You were great this semester.
SHOSHANA FROMER: Thank you.
Thank you.
WINNIE: Have a good day.
Hi.
Would you like to share your project?
BEN MCGOUGH: Sure.
WINNIE: Do you want to introduce yourself real quick?
BEN MCGOUGH: My name is Ben McGough.
I'm a first year studying applied math.
WINNIE: Amazing.
And what is your project?
BEN MCGOUGH: So my project is called Chair Rate.
It's a website that lets you rate and review chairs.
WINNIE: Here, can we turn it a little bit so they can see?
BEN MCGOUGH: Yeah, so first thing you do is you register.
So say your name is CS50 Duck.
You make a password.
Then you register.
And then once you register, your prompt-- you're
shown this home page that has recent chair reviews.
So this person reviewed the big chair in their common room, the red one
in my suite.
And so you have all the users' different chair reviews.
And then you can go to your profile.
But obviously, the CS50 Duck has no review history.
So first thing you want to do is you want to create a new review.
And so you say desk chair in CS50 Duck's house,
it's very comfortable and quite sturdy.
But it looks great and is nice for ducks.
And then you post your review.
And so it's on the page with all the other reviews.
And you could also add a photo if you want.
But if you don't, it just has this placeholder for a photo.
WINNIE: Amazing.
BEN MCGOUGH: And then you go to your profile.
And it shows that CS50 Duck has reviewed one chair.
And then your average score is for all the chairs
and then just a table with all the reviews that you've done.
WINNIE: Yeah, this seems great.
How did you decide on this project?
BEN MCGOUGH: So I was sitting down and I thought to myself,
this chair is pretty comfortable.
I wish I could talk about it or tell someone how comfortable it is.
WINNIE: Very important.
BEN MCGOUGH: Yeah, and then that's how the project came about.
WINNIE: Amazing.
BEN MCGOUGH: Thank you.
WINNIE: Well, it looks great.
Congratulations.
BEN MCGOUGH: Thank you.
WINNIE: Have a good rest of the fair.
BEN MCGOUGH: You too.
WINNIE: [LAUGHS]
[CHATTER]
Hi, guys.
SPEAKER 2: Hi there.
WINNIE: Did you want to talk about your projects a little bit?
SPEAKER 2: Of course.
So my project is an online chord generator.
And what it does is if you choose a chord root, and you choose a mode,
and you choose an octave, let's say that--
I don't know if the audio will be sound.
It's super loud in here.
But if you press Play Chord.
[MUSIC PLAYING]
WINNIE: Oh, OK.
SPEAKER 2: Yeah.
WINNIE: Here, let's try to do it again.
[MUSIC PLAYING]
SPEAKER 2: I don't know if that's picking up anything.
WINNIE: Wow.
SPEAKER 2: Yeah, that's basically it.
It's a super simple implementation.
WINNIE: It looks great.
SPEAKER 2: Thank you.
Thank you.
Not that good at design.
WINNIE: What were the biggest struggles with this?
SPEAKER 2: It was honestly iterating through every possible chord
that someone could think of.
WINNIE: Yeah.
SPEAKER 2: So the main problem with me was
that I was brute forcing all of the building of the chord,
generating of a chord.
I had 400 lines of code at one point.
It was horrible.
WINNIE: Yeah.
SPEAKER 2: And then I spent many, many hours
trying to develop a way to generalize the building of a simple chord.
WINNIE: And what did you come up with?
SPEAKER 2: Well, if you look at the back door, basically,
what this does is it creates a general structure,
regardless of whatever note the chord would start on.
This infinitely variable, you can add whatever chord you want.
And these two lines are really the meat and potatoes
because that's what generates the chord based
on a root note that is given over here.
WINNIE: Wow.
SPEAKER 2: And it uses that structure.
WINNIE: Sounds very complicated and very impressive.
SPEAKER 2: It sounded--
I don't think it's very complicated.
But it just took me a while to figure it out.
WINNIE: Definitely impressive then.
SPEAKER 2: Yeah, thank you.
WINNIE: Thank you.
Thank you for sharing it with us.
SPEAKER 2: Yeah, of course.
WINNIE: We'll go find someone else.
Oh.
That's not safe for ducks.
Can I ask you about your project?
ANA: Yeah, sure.
WINNIE: Here, I'll come over here.
What's your name?
ANA: My name is Ana.
WINNIE: Ana, it's so nice to meet you.
So what have you made?
ANA: So my website is supposed to help people remember to water their plants.
So basically, you start by adding a profile for each plant.
So let's just say we want to add our orange tree.
So we'll type in orange tree here.
And let's just say it's a citrus plant.
And we want to water it twice a week.
So we indicate two, and then weekly, and at 8:00 in the morning.
So then we can select a picture.
And then we click here.
And it adds it to our profile.
And then this is the dashboard.
So if you want to check the weather for where you're watering your plants,
you can enter an American zip code.
And then it'll-- your weather will load.
And then this is the part that I'm most proud of.
But [LAUGHS] if you want to track reminders to water,
you can enter a date to start watering.
So let's just say Christmas Day.
And then you click Add to Calendar.
And it autopopulates a reminder link with your plant name, and then the time
that you had specified, and the interval.
WINNIE: Amazing.
Wow.
ANA: Thank you.
WINNIE: That's a tricky integration.
It's very impressive.
ANA: It is.
Yes.
Thank you.
WINNIE: Wow.
Thank you for sharing with us.
And congratulations on finishing.
ANA: Of course.
Thank you.
WINNIE: We're going to go find a couple more.
[CHATTER]
Oh, sorry.
SPEAKER 3: You're good.
WINNIE: Hi.
DANE: Hi.
WINNIE: Can I ask you about your project?
DANE: Yeah, of course.
WINNIE: Well, would you want to introduce yourself first?
DANE: Oh.
WINNIE: I lost my microphone.
DANE: What's up?
I'm Dane.
I'm a first year studying computer science.
Anyway, so this is Task Wiz.
It's a task management website, where you're--
it looks simple.
And it is.
But you can drag and drop different tasks into different days of the week.
WINNIE: Oh, OK.
DANE: So this is really helpful because you can now
see what all your tasks are.
And you can, I guess, balance out your day--
your week by adding different things.
So let's say you have to do, I don't know, a p-set with high priority.
Add that in.
And then you can drag and drop that to anywhere.
Let's say you want to do it Thursday.
Add Enter there.
And it gets put right there.
WINNIE: That's amazing.
DANE: It's simple, but it's really helpful when
you're trying to organize your life.
WINNIE: Why is coming to the fair not top priority?
DANE: Ooh, well--
WINNIE: No good answer?
DANE: No good answer.
WINNIE: It's OK.
DANE: No comment.
WINNIE: Thank you so much for coming anyway.
DANE: Thank you.
WINNIE: And thank you for sharing.
DANE: Yep.
[CHATTER]
WINNIE: Excuse me.
Can I ask you about your project too?
MATTHEW RILEY: Yes, of course.
WINNIE: Amazing.
MATTHEW RILEY: This is the Metrics Dot Drill.
WINNIE: Oh, here.
Can you do your names real quick?
MATTHEW RILEY: My name is Matthew Riley.
I'm in Franklin College, potential EP&E major.
WINNIE: Amazing.
And what did you make today?
MATTHEW RILEY: This is the Metrics Dot Drill website.
So it's a sports biometrics startup that we're working with.
And the Dot Drill is basically a thing that a lot of Division 1 teams use.
But before, it was primitive.
They would just use a stopwatch.
So now we actually embedded electronics in the mat.
And this is our website for actually calculating that data.
So this is just a little funny note for when
you start, just saying what metrics is.
And just the partners in the project.
So ultimately, the graph will be right here.
And the data will be right here.
For now, it's in one.
But you just click here.
And for right now, it's modeling on the actual computer.
But ultimately, it will be on the mat.
So when you step on the mat, all this will pop up on the computer itself.
So say you start it.
And you start the exercise, though.
So the harder you jump, the harder it goes down.
If it's a light jump, light tap.
And you just continue jumping, continue doing the exercise.
And then when you're finished, you just press End.
And it has all the data, all the force, all the time measured right here.
And then when you're done and ready to begin another one,
you just return to Home page and resume the process.
WINNIE: That was great.
What was the most fun part about working on this project?
MATTHEW RILEY: Definitely the design.
I really like the colors.
I spent almost a couple of hours working on some of the colors.
But I just liked the overall theme of making it.
WINNIE: Yeah, it looks great.
It's very cool.
I can see how it could be used.
MATTHEW RILEY: Thank you.
WINNIE: Thank you for sharing.
MATTHEW RILEY: Of course.
SPEAKER 4: Thank you.
[CHATTER]
WINNIE: Hello.
[LAUGHS]
JONATHAN: Hi.
WINNIE: Can I ask you about your project?
JONATHAN: Sure.
WINNIE: What's your name?
JONATHAN: I'm Jonathan.
WINNIE: Jonathan.
Nice to meet you.
JONATHAN: Nice to meet you.
WINNIE: What did you make?
JONATHAN: So this is Newsfeed.
It's basically a news aggregator so you don't
have to go to individual news websites and look at the news.
You don't have to get your inbox cluttered by lots
of different types of newsletters and different updates.
So what this does is you can basically view all your updates
from a single place.
So for example, the Yale News, I can click Read.
WINNIE: Oh, wow.
JONATHAN: And here I have all the recent news articles
from Yale News, which I can navigate to and read them.
WINNIE: Amazing.
JONATHAN: So how this works is I can first start by finding newsfeeds
that I want to add.
So what are some types of news that you like reading?
Or what are some updates you're interested in getting?
WINNIE: Pop culture.
JONATHAN: Pop culture.
Sure.
[CHATTER]
So this basically returns search results from a database that's online.
It's called rsssearchhub.com.
I can go ahead and click these hyperlinks.
But I see that this feed is not really maintained.
So what I want to do is maybe try a different--
like this one.
This also doesn't work.
And I'll just try one more--
WINNIE: Hit or miss with pop culture.
JONATHAN: Yeah, that doesn't work.
So why don't we try something?
Pop culture RSS feeds.
And luckily for us, there are search websites that maintain these.
so I can go ahead and--
sorry.
I can go ahead and copy this, popmatters.com/feed.
Go over to Add.
[CHATTER]
Media.
And maybe I'm really into pop culture.
Now that it's added, I can go over to Manage and check that it's here.
Not that it's here, I can go over to Read.
Select popmatters.
[CHATTER]
Whoops.
My bad.
[CHATTER]
All right, that should do the trick.
[CHATTER]
WINNIE: Oh, I see it loading.
JONATHAN: Yes.
WINNIE: Oh, wow.
JONATHAN: And this basically gets you all the recent articles.
WINNIE: And you got all the pictures.
JONATHAN: And the pictures.
WINNIE: It's amazing.
JONATHAN: That you can navigate to.
WINNIE: Yes, thank you so much for sharing it.
JONATHAN: No worries.
WINNIE: It looks great.
JONATHAN: Hope you enjoyed.
WINNIE: Congratulations.
JONATHAN: Thank you.
WINNIE: Hi.
[CHATTER]
Hi.
Could I ask you about your project, Charlie?
Yes.
Oh, here.
So sorry, Daniel and David.
What's your name?
CHARLIE SULLIVAN: Oh, my name is Charlie Sullivan.
WINNIE: And what is your project?
CHARLIE SULLIVAN: Oh, my project is this game called Charlie's Super Fun Game.
Let me log out so I can just give you the full demo.
[CHATTER]
Log out.
[CHATTER]
There we go.
So you log out.
And you can either register or log in.
I'm going to register.
123456.
I'm going to not be original.
Same password, 1234.
1234.
I'm registered.
I'm in.
You can either-- that's a Google thing.
You can either click Start or you can read the rules.
A quick rules check, it's a very simple game.
You just click buttons.
This is my favorite rule.
Don't get too upset.
My roommate got very mad.
And then I had to add it in because it's fun.
WINNIE: Nice disclaimer.
CHARLIE SULLIVAN: Of course.
So we go to Start.
Just a fun little trivia question.
It's which of these states has a larger metro population than Moscow?
I personally didn't think it was that hard.
But all of my friends did.
So I'll give you an incorrect answer first of just these three.
You click Submit.
And it gives you a very sassy passive-aggressive error message.
I thought it was a lot of fun.
And it tells you how many buttons you get wrong.
That means you either clicked the wrong button or--
you clicked one button that shouldn't be selected
and you did click it or one button that should have been selected
and was not selected.
So it's both.
WINNIE: I see.
CHARLIE SULLIVAN: So a comprehensive one is this, this, this, this, and this.
People were very surprised that those two weren't up there.
But that's the correct answer.
This is a different one, very similar structure.
I won't bore you going through all the little minutia.
But it's these five.
Click Answer.
Click Submit.
Go to level three.
Level three, the answer is Japan.
But first, I get this error message.
You get it wrong and it just says, wow, someone doesn't know how to type.
WINNIE: Oh.
It's a very sassy game.
CHARLIE SULLIVAN: It's very sassy.
It's me.
I liked it.
Correct answer is Japan.
So you just spell it correctly, hopefully.
I can do that like this.
It's case insensitive.
So with their caps, you move on.
This one, similar to levels one and two.
It's just these three top are the correct answer.
Click Submit.
And you move on.
And now this is my personal favorite.
I thought it was very amusing.
My question, how many times have I visited the ER for head trauma?
WINNIE: Please tell me it's zero.
CHARLIE SULLIVAN: It's not.
WINNIE: Oh.
CHARLIE SULLIVAN: It's three, which is disappointing for my mom.
Yeah, and these are the correct three answers.
WINNIE: Oh.
CHARLIE SULLIVAN: Yeah.
WINNIE: That's a rough go.
CHARLIE SULLIVAN: That's how it goes sometimes.
I lost.
They won.
You click Submit and you get to this Congratulations page.
It tells you the amounts of errors, which is two for me on this level.
Then you click here for your reward.
The classic Rick Roll.
WINNIE: Amazing.
CHARLIE SULLIVAN: That's my whole game Thank you, guys.
WINNIE: It's very fun and not upsetting at all.
CHARLIE SULLIVAN: Not upsetting at all.
WINNIE: Thank you for sharing.
CHARLIE SULLIVAN: Of course.
WINNIE: Alexandra, can I ask you about your project.
ALEXANDRA: Hi.
Yeah, of course.
So basically, me and all my friends, every single time we
want to go study somewhere, it's like we spend 1/2 an hour
trying to find a library or a coffee shop that actually has space for you
to study.
And so instead of wasting that 1/2 an hour,
you could instead go to this website.
Here, wait, do you want me to turn this?
WINNIE: Yeah.
ALEXANDRA: It's called Everybody's Spot.
And so it has six different study spots at Yale
right now that people usually frequent.
And then so instead of spending that 1/2 hour, I could just check this website.
Say I want to go to Starr.
So I click on Starr.
It tells me if it's open, first important thing.
And then it tells me how busy it is based on users' input
from the past two hours.
So every time you load this page, it automatically
deletes input that it's stored that's more than two hours old.
And so say I'm there right now.
And I want to rate how busy it is.
So I go to this page.
And I fill out Starr and say, I think it's super busy.
I'll put a five.
And I'll submit this.
It'll bring me back to the Home page.
And then now if I click on Starr, it'll be a little bit busier.
And then it also displays based on a table in the SQL database
whether or not it has outlets, whether or not it has tables, things like that.
So for example, if I went to the music library, the music library,
it has computers and it has desks, which Starr does not.
So it displays these ones.
And the default for this is zero.
So every time-- so say there was no input that
was put into the website for the past two hours.
This will display a zero.
And so if I return home and say, I want to go somewhere, but it's not on here,
so I just go and suggest a new spot.
And then you have to fill out these two, which you don't
have to give the website suggestions.
But you just have to tell us what's the name of the spot you'd
like to see on the website and whether or not
it has all the different options for the different amenities the study spot has.
WINNIE: Amazing.
ALEXANDRA: And yeah, it's pretty simple.
I guess I feel like it would be useful to different Yale students.
WINNIE: Yeah, do you plan on using it after this?
ALEXANDRA: If someone else wanted to make it, develop it a little bit more
with me, I think it would be definitely great for the Yale community,
just because we have so many apps that are coded by students
that people use, like CourseTable.
People also use-- I know that a lot of Yale students are involved with Fizz.
Then that's coded by them.
So I think it would definitely be very useful to different Yale students.
And if someone else were interested in working on it,
I definitely think I would work with them
to make it more available to everybody.
WINNIE: It looks great.
I love the CSS too.
ALEXANDRA: Thank you.
Yeah, that was my favorite thing.
It's going into the HTML and the CSS files
and just reloading it over and over with different gauges.
I'm like--
WINNIE: I totally get that.
ALEXANDRA: --this looks better.
This looks better.
WINNIE: It looks great.
It looks great.
Thank you for sharing.
ALEXANDRA: Yeah, thank you so much.
WINNIE: Yeah, of course.
So I think we're going to go try to find Carter now.
Oh, excuse me, Duck coming through.
[CHATTER]
Hi, Andreo.
ANDREO: Hello.
You are the duck?
WINNIE: Yes.
Would you like to say hi to the live stream?
ANDREO: Hi, livestream.
That's enough for me.
[CHATTER]
WINNIE: Let's see.
[CHATTER]
And this is our big Yale blow up duck.
It's taking a hit.
But it's doing pretty well.
Hi, Carter.
CARTER: Hello.
WINNIE: How are you?
CARTER: How's it going?
I'm good.
How are you?
WINNIE: Pretty good.
How have you enjoyed the fair?
CARTER: It's been really fun so far.
Thank y'all so much for hosting. us here, yeah.
WINNIE: Of course.
And after the fair, what's next?
CARTER: After the fair?
Well, probably just more final projects just to keep working on, improving.
In the next hour or so, just more popcorn, and candy, and projects.
WINNIE: Yes.
CARTER: So I'm super excited for that.
WINNIE: Me too.
CARTER: Yeah.
WINNIE: Well, thank you so much for coming.
And thank you so much for helping organize.
CARTER: Of course.
Thank you.
WINNIE: Thank you all for tuning in and watching.
This was CS50.
[CHATTER]