Introduction to Media Computation: A new CS1 approach that addresses women’s interests

advertisement

Introduction to Media

Computation:

A new CS1 approach that addresses women’s interests

Mark Guzdial

College of Computing/GVU

Georgia Institute of Technology

Overview

 Computer science education is in a sorry state.

Failing to attract a diverse student population.

Low completion rates among students who do choose CS.

These are serious problems for computer scientists and liberal education in general.

 Why a course in programming digital media?

 Description of the course .

 Results of Spring 2003 evaluation.

Computer Science Classes Today

 CS1 is despised among many non-majors.

 CS retention rates lower in CS than other fields.

 At Georgia Tech:

65% for 1995 cohort, vs. 73% for Engineering

 Drop-out rates near 50% at many institutions.

 Enrollment and completion rates are particularly low among certain minority groups and women.

Why?

“Tedious,” “boring,” “lacking creativity,” “asocial”

 CS culture seems to be most attractive to white males.

Should Computer Scientists care?

“Those that fail don’t belong in CS”?

What is our vision of computation and new media?

Should people just consume media?

Or should they understand it? And even be able to create it?

Is it an important form of expression that many should master?

In Alan Kay’s vision of the computer, the

Dynabook , programming itself is a medium

The best uses for our technologies will come from others.

 Thomas Edison vs. D.W. Griffith

 If we want our technologies to become useful, they have to get out of our hands.

It can’t be just through applications

 That presumes that we the researchers know how the technologies should be used.

 Suggestion: D.W. Griffith knew things that Edison didn’t.

Why Should Anyone Care?

 In 1961, Alan Perlis argued that:

Computer science should be part of the definition of a liberal education.

Everyone should learn to program

 Contrast with Calculus, widely considered part of a liberal education.

 Calculus is about rates , and that’s important to many.

 Computer science is about process , which is important to everyone.

The Challenges

 Motivating non-CS students to care about computing.

 Making it social, creative, exciting, and not tedious.

Which is how many of us already see Computing, but that’s not getting communicated.

Understanding what’s exciting about computing to those outside of the discipline.

Particular Focus: Introduction to Media Computation

 121 students in Spring 2003, with 309 in Fall ‘03 and 400 planned for Spring ‘04

 2/3 female in Spring 2003 MediaComp

 Focus: Learning programming and CS concepts within the context of media manipulation and creation

 Converting images to greyscale and negatives, splicing and reversing sounds, writing programs to generate

HTML, creating movies out of Web-accessed content.

Motivating the Computing

 As professionals, these students will often the use the computer as a communications medium.

 All media are going digital, and digital media are manipulated with software.

 Knowing how to program, then, is a communications skill.

Python as the programming language

 Huge issue

 Use in commercial contexts authenticates the choice

 IL&M, Google, Nextel, etc.

 Minimal syntax

 Looks like other programming languages

 Potential for transfer

Course Objectives

 Students will be able to read, understand, and modify programs that achieve useful communication tasks

 Not programming from a blank piece of paper

 Students will learn what computer science is about, especially data representations, algorithms, encodings, forms of programming.

 Students will learn useful computing skills, including graphing and database concepts

Use a loop!

Our first picture recipe

def decreaseRed(picture): for p in getPixels(picture): value=getRed(p) setRed(p,value*0.5) original

Used like this:

>>> file="/Users/guzdial/mediasources/barbara.jpg"

>>> picture=makePicture(file)

>>> show(picture)

>>> decreaseRed(picture)

>>> repaint(picture)

def clearRed(picture): for pixel in getPixels(picture): setRed(pixel,0) def greyscale(picture): for p in getPixels(picture): redness=getRed(p) greenness=getGreen(p) blueness=getBlue(p) luminance=(redness+blueness+greenness)/3 setColor(p, makeColor(luminance,luminance,luminance)) def negative(picture): for px in getPixels(picture): red=getRed(px) green=getGreen(px) blue=getBlue(px) negColor=makeColor(255-red,255-green,255-blue) setColor(px,negColor)

Using your personal pictures

And messin’ with them

Relevance through Data-first

Computing

Real users come to a user with data that they care about, then they (unwillingly) learn the computer to manipulate their data as they need.

“Media Computation” works like that .

We use pictures of students in class demonstrations.

Students do use their own pictures as starting points for manipulations.

 Some students reversed sounds looking for hidden messages.

They started doing this in the second week

How often do students use their second week of CS1 on their own data?

How does that change the students’ relationship to the material?

Rough overview of Syllabus

Defining and executing functions

Pictures

Psychophysics, data structures, defining functions, for loops, if conditionals

Bitmap vs. vector notations

Sounds

 Psychophysics, data structures, defining functions, for loops, if conditionals

 Sampled sounds vs. synthesized, MP3 vs. MIDI

Text

 Converting between media, generating HTML, database, and networking

 Trees, hash tables

Movies

Then , Computer Science

Computer science as a solution to their problems

“Writing programs is hard!

Are there ways to make it easier? Or at least shorter?”

 Object-oriented programming

 Functional programming and recursion

“Movie-manipulating programs take a long time to execute. Why? How fast/slow can programs be?”

 Algorithmic complexity

“Why is PhotoShop so much faster?”

 Compiling vs. interpreting

 Machine language and how the computer works

Liberal collaboration policy

On 6 homeworks, any collaboration allowed.

On two “take home exams”

(programming assignments), no collaboration allowed.

CoWeb (Collaborative Website) created social context for class.

Q&A like on a newsgroup

Exam reviews

Posting completed media for sharing.

Georgia Tech’s Three CS1’s

 CS1321: Introduction to Computing

Based on How to Design Programs and the

TeachScheme Project

Was the only CS1 course, on a campus that requires CS1 of everyone

 CS1315: Introduction to Media Computation

 CS1371: Computing for Engineers

 Equivalent to CS1321, in MATLAB and Java

Evaluating the Course

Led by Andrea Forte, PhD student

Comparing CS1321, CS1371, and CS1315 in terms of learning and motivation.

Withdrawal, F and D grade (WFD) rates

Surveys (initial, midterm, and final)

Common exam problems

 Observational study of student performance to understand problems and strategies.

 Conducted by Rachel Fithian, MS HCI student

 Interview study of impact on women.

 Conducted by Lauren Rich, undergraduate CS student

Who Were These Students?

 Almost exclusively non-majors in all courses

 Media Computation respondents:

Management, liberal arts, architecture (over 95%) and science

Mostly female (67%)

 Low prior programming experience

 17%, all 1 year or less

 Lower than CS1321 or CS1371 (Engin)

How Do These Students View

CS?

 There were some differences between the three groups’ responses on the initial survey.

Course

Don't

Know

How

Computer

Work

CS 1321 4.9% 6.1%

Engin

Media

Comp

11.4% 18.2%

4.7% 7.0%

Programming

51.2%

45.5%

48.8%

Scary/

Difficult

8.5%

2.3%

10.5%

Required

Class

Web/

Internet

7.3%

4.5%

15.1%

0.0%

0.0%

8.1%

Were Students Motivated and

Engaged?

 WFD rates (in Spring 2003) suggest they were.

 121 students, 3 drops.

 In Fall 2003, 309 students,

6 drops.

Average

CS1

(2000-2002)

CS 1321

Engin

Media

Computation

WFD Rate

27.8%

42.9%

18.7%

11.5%

Were Students Motivated and

Engaged?

 Homework assignments suggest they were.

 Some students reported writing programs outside of class for fun.

Were Students Motivated and

Engaged?

Were Students Motivated and

Engaged?

Q. What do you like best about this course?

Survey responses suggest that students responded well to the context of media manipulation and creation.

Course

CS

1321

Engin

Media

Comp

Don't like it/Nothing

Enjoy

Content

Content is

Useful

18.2%

12.9%

0.0%

12.1% 0.0%

16.1% 25.8%

21.3% 12.4%

Were Students Motivated and

Engaged?

“I think that we're doing things that I could actually use as an architecture major —I like dealing with pictures and sounds.”

It was interesting/surprising to learn... “Adjusting pictures and sounds because it is something that I will be able to use far into the future.”

It was interesting/surprising to learn... “About how

Photoshop works because now I understand what it is doing and I can use it better.”

How did Women Respond to the Course?

 Not one female student dropped the course.

 All female interviewees reported a positive experience in CS1.

 Did we make it:

 Relevant?

Creative?

Social?

How did Women Respond to the Course?

 Did we make it:

Relevant?

Creative?

Social?

How did Women Respond to the Course?

 Did we make it:

Relevant?

“I dreaded CS, but ALL of the topics thus far have been applicable to my future career (& personal) plans —there isn't anything I don't like about this class!!!”

Creative?

Social?

How did Women Respond to the Course?

 Did we make it:

Relevant?

Creative?

“I just wish I had more time to play around with that and make neat effects. But JES will be on my computer forever, so… that’s the nice thing about this class is that you could go as deep into the homework as you wanted.

So, I’d turn it in and then me and my roommate would do more after to see what we could do with it.”

Social?

How did Women Respond to the Course?

 Did we make it:

Relevant?

Creative?

Social?

“Actually, I think [collaboration] is one of the best things about this class. My roommate and I abided by all the rules... but we took full advantage of the collaboration. It was more just the ideas bouncing off each other. I don’t think this class would have been as much fun if I wasn’t able to collaborate.”

On CoWeb use: “Yes, it’s not just about the class… people talk about anything, it’s a little bit more friendly than just here’s your assignment.”

Unexpected Results...

 Only 6% of Media Computation students reported that they planned to take more CS...

Unexpected Results...

 Only 6% of Media Computation students reported that they planned to take more CS...

 On the same survey Over 60% indicated an interest in taking an advanced media computation course if it were offered.

Summary

 CS Education is in a sorry state, and fixing it is important to us and others

 Media Computation seems to be a useful context to motivate student performance.

 But there are others!

 Engineering as a context is motivating CS1371 students!

There’s more work to be done: learning assessment, impact of collaborative policies on student motivation, impact on long term choices about CS learning

Acknowledgements

 Course materials development: Adam Wilson, Jason

Ergle, Claire Bailey, David Raines, Joshua Sklare,

Mark Richman, Matt Wallace, Alisa Bandlow, Ellie

Harmon, Yu Cheung Ho, Keith McDermott, Eric

Mickley, Larry Olson, Lauren Biddle

 Assessment: Andrea Forte, Rachel Fithian, Lauren

Rich, Heather Perry, Ellie Harmon

 Thanks to Bob McMath and the Al West Fund, to

GVU and CoC, to the students who participated in our evaluation, and to the National Science

Foundation

For further information

 Course CoWeb: http://coweb.cc.gatech.edu/cs1315

 Where we planned the course: http://coweb.cc.gatech.edu/mediaComp-plan

 Book will be available in January 2004

 guzdial@cc.gatech.edu

Download