Placeholder Image

Subtitles section Play video

  • PATRICK REBESCHINI: All right.

  • This is CS50, and this is Yale University.

  • Welcome to the grand finale.

  • Really, this is the last lecture of the course.

  • And I hope to interpret most of you when I say, wow, already?

  • And indeed, just think where we started off two, three months ago.

  • What we have achieved is simply unbelievable.

  • And typically, it's a good sign.

  • When time flies by, it means that we have been engaged a lot.

  • We have been learning a lot.

  • This is precisely the type of experience that we want to give as part of CS50.

  • So now today's is the last lecture, but the course

  • does not end here, as David will remind all of us in a bit.

  • In particular, the hackathon is coming up.

  • It's a great opportunity to meet friends in Cambridge, I thought,

  • but while potentially working on your final project.

  • And then while you're here in New Haven, the final

  • CS50 [? for ?] a great occasion to showcase

  • what you have achieved in these two, three months, and to present

  • this type of output not just to a friend of yours,

  • but really to the entire Yale community and beyond.

  • So this is CS50.

  • Indeed, today does not end year, but in a way,

  • we should start thinking about life beyond CS50.

  • And well, let me tell you, it does exist.

  • And so we decided to take the opportunity of the last lecture

  • to invite a few friends-- faculty from Yale College--

  • to present some of the great resources that Yale can offer to those of you who

  • want to dive more deeply into the realm and the wonder of CS

  • as a discipline and related fields.

  • So I'm going to introduce to you a few friends, faculty.

  • I would like to welcome all of them with a big round of applause.

  • So please join me in this.

  • [APPLAUSE]

  • And I have the pleasure to introduce Holly Rushmeier from the computer

  • science department.

  • Thank you, Holly.

  • HOLLY RUSHMEIER: So, yes, I'm Professor Rushmeier.

  • I am on the computer science faculty.

  • I teach a variety of courses.

  • Right now I'm teaching CPSC 201, Introduction

  • to Computer Science-- a course that I really love,

  • because it has the core ideas of computer science in it.

  • But another area that I really love, and what I do my research in,

  • is computer graphics.

  • And that's what I'll spend my few minutes here on.

  • And basically, what is computer graphics?

  • It's using computers to make and use images for exploration, communication,

  • and expression.

  • So exploration-- how do we understand things?

  • One of the things that we can do is read and write about things

  • to improve our understanding.

  • We also can explore things by drawing, gathering pictures, and manipulating

  • images.

  • We use graphics a lot for communicating ideas.

  • Creating a feature film-- that's communicating ideas.

  • That's telling a story.

  • Advertisements, documentaries-- all these things are using images.

  • And we have a part to play in creating those images.

  • And then some of it is just purely creative expression.

  • These images here are from some of our research work

  • here at Yale, including things like-- we're

  • interested in designing what makes things look like what they look like.

  • And that's a combination of their small-scale geometry-- whether they've

  • got little rings or bumps, or how they're woven--

  • and their large-scale geometry.

  • We're also interested in abstract visualizations to make things clearer.

  • So these strange little spheres floating and inside the matrix

  • are an illustration of a kind of calculation.

  • And we're interested in systems that help people.

  • So these images are showing a sculpture of the Madonna

  • from the Yale art gallery.

  • This is part of a system that we've created for art conservators

  • to study works of art using data from different imaging modalities.

  • And then on the bottom is another visualization.

  • It's visualizing the results of a perceptual experiment

  • that we did about how things look when they move.

  • So just a little bit of the span of things

  • we consider in computer graphics.

  • A little bit about-- another way of looking at graphics

  • is that we observe problems in the real world.

  • People want to design something new.

  • They want to tell something new.

  • They want to understand something new.

  • And we're going to produce something in the real world.

  • We're going to make pictures.

  • We're going to make objects.

  • But what we do in computer graphics is we get those physical things

  • we observe into the computer, and then we

  • create the data, data structures, algorithms, to work with those objects,

  • to create the solutions that then allows us

  • to make those things in the real world.

  • So in the physical world, we may be simply observing

  • shapes and forms and colors and lights and how people perceive things.

  • Or we may be using instruments to measure shapes and colors.

  • We may be designing new instruments or conceiving

  • of new ways of putting existing instruments together.

  • And we may just be observing how people perceive things,

  • or we may be doing psycho-physical experiments to figure out

  • how people perceive things.

  • So then we bring them into the computer.

  • We think of new ways to represent objects, shapes, colors,

  • their interaction.

  • We've-- how people can interact with those shapes to create new things.

  • What are good interfaces for people to create new things,

  • to express themselves, or to explore an idea?

  • And then we put things out into the physical world.

  • I had sort of a-- images from my oldest work and some of my newest.

  • My oldest work-- that's from like 30 years ago--

  • was when we were first trying to make images that would

  • be indistinguishable from real scenes.

  • So we were building a real scene-- a real simple scene--

  • and trying to make a physical image that looked exactly like it

  • and then set up an experiment where the challenge is, well, gee,

  • that's a real physical box.

  • That's a picture of a box.

  • We had to come up with the solution to overcome that.

  • So here at Yale, you have graphics courses.

  • You can take straight-up the standard computer graphics,

  • some special topics-- including a new one

  • that we have in computational issues in design and fabrication.

  • And we have a wide range of projects that people can work on,

  • including-- in particular, in my work-- I'm

  • very interested in digital humanities and analyzing

  • the shape and form, materiality, of things like manuscripts.

  • Cultural heritage-- maybe you want to get out in the cemetery at night

  • and take data and start examining old stones.

  • Or we have more hardcore computer graphics--

  • new methods for sketching, extracting, and reusing textures and building

  • new scanning systems.

  • So those are some ideas.

  • So thank you very much.

  • PATRICK REBESCHINI: Wonderful.

  • Our second guest today is Amin Karbasi, from the computer science and the EE

  • department.

  • So Amin, all yours.

  • AMIN KARBASI: Hello.

  • So I thought today that I'm going to talk about sensing data.

  • So basically, my work is about, in the realm

  • of big data, how we can actually reason about-- how

  • we can pick and reason about very uncertain data

  • and get useful information.

  • And in particular, I'm going to talk about three very specific applications.

  • The first one is the video summarization.

  • So what it means is that it would be really cool if instead of listening

  • to the whole CS50 lectures, there would be an algorithm that tells us

  • these parts are the most important part to look at.

  • The second application is going to be about automated teaching.

  • So instead of Patrick and David teaching you,

  • it would be really cool if a machine can teach you new concepts.

  • And the third one is about whether a robot can actually learn and reason

  • about the environment.

  • OK.

  • So the first application that I'm going to talk about

  • is the video summarization.

  • I'm going to show you a very short clip, and the idea here

  • is that we have an algorithm that picks frames of this short clip such

  • that if you look at these frames-- here are four-- you can basically

  • understand what is happening.

  • OK, so we can put these frames together and it tells a story.

  • OK, so that is one application, and we had worked on this one.

  • The second application that I'm going to talk to is about automated teaching.

  • So here the idea is that instead of-- so I

  • want to teach you a new concept without telling you

  • how to learn this new concept.

  • I am just going to show you some examples.

  • And so in particular, I made some imaginary insects.

  • I even called them vespula and weevils.

  • You have not seen them before.

  • And I'm going to show you examples.

  • I need you to cooperate.