Monday, October 24, 2011

Computer Science is Everywhere! (Even Photography)

Last week I did a couple of workshops at the Canadian Museum of Science and Technology for National Science and Technology Week.  I managed to improve the usual 'computer science connects to everything' theme to be more interactive, and judging by the apparent engagement of the students, it was a success.  Below is an outline of what I presented - feel free to adapt it for your own presentation (with some credit to me if you don't mind).
I'm here from Carleton University to tell you about one of the biggest reasons that I love computer science: it connects to everything! No matter what your interests are, or your passions, there is a problem waiting to be solved and a way to make life easier or better with computing.  Even something as creative as photography has a lot to do with computer science, as we'll see later.
My name is Gail Carmichael, and I'm a computer scientist. Of course, that's not all I am.  I'm also a PhD student (which means I've been in school for almost ten years since high school!). I do Taekwondo (anyone else into martial arts?) and like to go backpack hiking and work on my garden.  And, as you can see, I'm also going to be a mom soon!

(I always make an effort to show the students that just because you are into computers doesn't mean you can't also be into lots of other fun things as well.  This time I was also able to talk about becoming a mom, which I think it really important for both the males and females to see.  In fact, one of the boys came up to me after the workshop to wish me luck with the baby - how awesome is that??)

I'm also part of a group at Carleton called Women in Science and Engineering.  In fact, I helped start this group a few years ago.  I don't know if you all know, but we still have far too few women in computer science, and we want to fix that.  So, ladies in the audience, I encourage you to look into computer science as a possible career if you see anything today that interests you! (Guys, too - we want all the smart people!)

Ok, so let's talk about computer science.  Anyone have any ideas of what computer science might be? Or maybe what kinds of things computer scientists do?

(You usually get answers more related to using computers, but you can also often get some good insight into what the field's really about.)

I'll tell you exactly was computer science is about in one second.  But first, I want you to all take a minute to brainstorm as long a list as you can of areas of your life where computing is involved.  Think of the obvious, like cell phones, to the less obvious, like toasters (yup, even your toaster might have a little computer inside!).

Here are some of the areas I thought of.  Some of these are more obvious, like the iPhone and video games.  What about some of the others?

(I find the students love giving more ideas on these topics or asking questions about them.  Invite interaction here as much as possible.)
  • Music: You could write software that analyzes music and automatically creates a playing list that would suit our current mood.  Or you can try to teach the computer how to create good music from scratch.
  • Medicine: You can use computers to simulate chemical reactions and help us narrow down what sorts of things might be effective in treating particular illnesses.  You can also use computers to crunch the huge amounts of data in our DNA, helping us find genetic issues in a person.  (Bet you didn't think you'd be able to save lives as a computer scientist, did you?)
  • Video Games: Sometimes we want to provide good entertainment as computer scientists, and making games is one way to do this.  You can even study game development as a whole concentration in our computer science program at Carleton!
  • Geography: When's the last time you used Google Maps or a GPS device? There's a lot of computer science happening there, such as when you are finding the most efficient route to your destination.
  • Psychology: If you're interested in the way people think, you can help design technology that makes sense to humans.
  • Math: Computer science can be a very mathematical way of thinking.  (But don't worry, you don't have to be a math whiz to do well in this field!)
  • Robotics: We have to program robots to get around without running into things and much more.
  • Education: I want to make games that are both fun and educational.  School looks very similar to what our great-great-grandparents experienced, but I think that technology can help change that and make learning more fun and effective!

In the end, computer science is really all about solving problems.  It's not about programming or software or any of that stuff on its own - these are all just means to the end of making the world better.

(Try to relate the students' answers from earlier into the above discussion.)

What problems are there to solve in photography? How can we improve such a creative practice with technology?
Some of you might remember taking photos with film before digital cameras became standard. Film worked by having an actual chemical reaction to the light that hits it.  How do we take a picture digitally?

(If there's time, it's fun to get them guessing how we get from a scene in the world to an image on the computer.)

Instead of using chemicals that react to light, we can create what's called a digital sensor that can sense what light is hitting it.  But how does this translate into what the computer can understand?

Do you know how data on your computer is stored? What everything ends up being in the end? (Answer: numbers! Binary numbers in particular.) Even an image is going to end up as numbers.  So we need to translate the light hitting the sensor into numbers somehow.
Let's say I took this photo with my digital camera and I'm looking at it on the computer.  What happens if I zoom in really close? (Answer: it gets pixelated, blocky, blurry, etc.)

Our digital sensors are made of grids of pixels as well, and each of these pixels captures the amount of light that hits it.  Then we can store this as a number for each pixel on the computer, representing the image.

(At this point, I use images from the CS Unplugged Image Representation activity to demonstrate how this can work with black and white images, and I give them some time to try recreating the pictures on the handout on pg 4 of the PDF.  We discuss the pros and cons of the two ways of representing the image - each pixel as its own number or writing out the number of black or white pixels that come in a row - and I emphasize that we often have to consider tradeoffs when solving problems in computer science.)

To conclude, let me say again that computer science is everywhere.  In photography, there are many more problems that computer science helps solve, from organizing and searching through our photos to applying interesting effects to them.  Computing touches every part of our lives, from keeping us healthy to keeping us entertained.


Elan said...

Really great article! Good luck with the baby Gail :)

Gail Carmichael said...

Thanks! :)

S.S said...

hi , I really love your Blog and I'm also taking comp science . I would like to ask you what career or course should I pursue if I like photography and psychology?

Gail Carmichael said...

I would say that there are two areas of computer science in particular that would be worth looking into: computer graphics (including image processing), and human-computer interaction.

Post a Comment

Comments are moderated - please be patient while I approve yours.

Note: Only a member of this blog may post a comment.