meeting computing needs across campus mark guzdial, school of interactive computing

50
Meeting Computing Needs Across Campus Mark Guzdial, School of Interactive Computing

Upload: virgil-potter

Post on 13-Dec-2015

218 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Meeting Computing Needs Across Campus Mark Guzdial, School of Interactive Computing

Meeting Computing Needs Across CampusMark Guzdial, School of Interactive Computing

Page 2: Meeting Computing Needs Across Campus Mark Guzdial, School of Interactive Computing

2

Story

• Why we should teach computing to everyone

• Making computing work for everyone at Georgia Tech.– Lesson Learned: Contextualized Computing

education.– What the courses are like

• Side trip into second course

– Results• Side trip: Applying the lesson to the BS in

CS.• Finally, what does it buy us in CS?

Page 3: Meeting Computing Needs Across Campus Mark Guzdial, School of Interactive Computing

3

Time Warp to Fall 1999

• Fall 1999: All students at Georgia Tech must take a course in computer science.– Considered part of General Education,

like mathematics, social science, humanities…

• Why did Georgia Tech make that decision?– Computing was a College.– ABET might start requiring CS.

Page 4: Meeting Computing Needs Across Campus Mark Guzdial, School of Interactive Computing

4

More reasons forcomputing across curriculum

• Everyone needs to learn about process (Alan Perlis)

• Algorithms control our lives: The tyranny of the computationally literate (C.P. Snow)

• The tools of learning for computational scientists and engineers brought home.– Computers are cheaper than cyclotrons

Page 5: Meeting Computing Needs Across Campus Mark Guzdial, School of Interactive Computing

5

1961 MIT Sloan School Symposium

Page 6: Meeting Computing Needs Across Campus Mark Guzdial, School of Interactive Computing

6

Computing for Everyone

• In 1961, Alan Perlis argued that computer science should be part of a liberal education.– Explicitly, he argued

that all students should learn to program.

• Why?– Because Computer

Science is the study of process.

– Automated execution of process changes everything

Page 7: Meeting Computing Needs Across Campus Mark Guzdial, School of Interactive Computing

7

The Power and Fear of Algorithms

• The Economist (Sept., 2007) wrote on the algorithms that control us, yet we don’t understand.– Credit Scores,

Adjustable Rate Mortgages, Google

• C.P. Snow foresaw this in 1961.– Those who don’t

understand algorithms, can’t understand how the decisions are made.

“A handful of people, having no relation to the will of the society, having no communication with the rest of society will be taking decisions in secret which are going to affect our lives in the deepest sense.”

Page 8: Meeting Computing Needs Across Campus Mark Guzdial, School of Interactive Computing

8

Adopting Computing—without us

• At Georgia Tech and other Universities:– Biology teaches programming for mathematical and

computational models.– Physics teaches VPython for labs where they solve three-

body problems.

• Computer science provides the tools and metaphors for understanding science.

• Scientists and engineers use computing to model, simulate, and understand.– Why shouldn’t science and engineering students?– History repeating: Telescopes, microscopes.– Unlike other scientific instruments, computers are

already cheap and plentiful.

• Problem: They’re doing it without us.

Page 9: Meeting Computing Needs Across Campus Mark Guzdial, School of Interactive Computing

9

Richard Dawkins on Fresh Aire

GROSS: You close your book saying, "I am thrilled to be alive at a time when humanity is pushing against the limits of understanding." How do you think that's happening in your field of evolutionary biology?

Mr. DAWKINS: Well, it's the most exciting time to be a biologist…Since Watson and Crick in 1953, biology has become a sort of branch of computer science. I mean, genes are just long computer tapes, and they use a code which is just another kind of computer code. It's quaternary rather than binary, but it's read in a sequential way just like a computer tape. It's transcribed. It's copied and pasted. All the familiar metaphors from computer science fit.

Page 10: Meeting Computing Needs Across Campus Mark Guzdial, School of Interactive Computing

10

Back to Georgia Tech in 1999

• Key Point: Only one course met the requirement:CS1321 Introduction to Computing– Shackleford’s pseudocde approach in

1999– Later Scheme: How to Design Programs

Page 11: Meeting Computing Needs Across Campus Mark Guzdial, School of Interactive Computing

11

CS1321: Pass (A, B, or C) vs. WDF (Withdrawal, D or F)

Pass WDF

02 Fall Total 74.01% 26.74%

Female 62.99% 36.65%

Male 77.00% 22.90%

02 Spring Total 65.03% 34.87%

Female 65.56% 34.44%

Male 64.81% 35.04%

01 Fall Total 70.98% 29.02%

Female 59.55% 40.45%

Male 73.63% 26.37%

Page 12: Meeting Computing Needs Across Campus Mark Guzdial, School of Interactive Computing

12

Contextualized ComputingEducation

• Since Spring 2003, we teach 3 introductory CS courses.– Responding to research results

about CS being “irrelevant”– Based on Margolis and Fisher

“alternative paths”• Each course introduces

computing using a context (examples, homework assignments, lecture discussion) relevant to majors.

• Make computing relevant by teaching it in terms of what computers are good for (from the students’ perspective).

Page 13: Meeting Computing Needs Across Campus Mark Guzdial, School of Interactive Computing

13

Our Three CS1’s Today

• CS1301 Introduction to ComputingTraditional CS1 for our CS majors and Science majors (math, physics, psychology, etc.).

• CS1371 Computing for EngineersCS1 for Engineers. Same topics as CS1301, but using MATLAB with Engineering problems in homework and examples.

• CS1315 Introduction to Media Computation

Page 14: Meeting Computing Needs Across Campus Mark Guzdial, School of Interactive Computing

14

Introduction to Media Computation

• Average 400 students/term– Overall, CS1315 has been 51% female– Required in Architecture, Management, Ivan Allen

College of Liberal Arts, and Biology

• Focus: Learning programming and CS concepts within the context of media manipulation and creation– Converting images to grayscale and negatives,

splicing and reversing sounds, writing programs to generate HTML, creating movies out of Web-accessed content.

– Computing for communications, not calculation

Page 15: Meeting Computing Needs Across Campus Mark Guzdial, School of Interactive Computing

15

Media Computation: Teaching in a Relevant Context• Presenting CS topics

with media projects and examples– Iteration as creating

negative and grayscale images

– Indexing in a range as removing redeye

– Algorithms for blending both images and sounds

– Linked lists as song fragments woven to make music

– Information encodings as sound visualizations

Page 16: Meeting Computing Needs Across Campus Mark Guzdial, School of Interactive Computing

16

Syllabus for Introductory Course

• Getting started: Defining and executing functions• Pictures

– Psychophysics, data structures, defining functions, loops, conditionals (red-eye removal, posterizing)

– Bitmap vs. vector notations

• Sounds– Psychophysics, data structures, defining functions, loops,

conditionals– Sampled sounds vs. synthesized, MP3 vs. MIDI

• Text– Converting between media, generating HTML, database, and

networking– A little trees (directories) and hash tables (database)

• Movies• Then, Computer Science topics (last 1/3 class)

Page 17: Meeting Computing Needs Across Campus Mark Guzdial, School of Interactive Computing

17

Computer Science Topicsas solutions to their problems

• “Why is PhotoShop so much faster?”– Compiling vs. interpreting– Machine language and how the computer works

• “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

Page 18: Meeting Computing Needs Across Campus Mark Guzdial, School of Interactive Computing

18

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)

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))

Page 19: Meeting Computing Needs Across Campus Mark Guzdial, School of Interactive Computing

19

Examples of Student Work

Soup-Audio Collage

Canon- LinkedList of (MIDI) Music

Page 20: Meeting Computing Needs Across Campus Mark Guzdial, School of Interactive Computing

20

Examples of Teacher Work

Page 21: Meeting Computing Needs Across Campus Mark Guzdial, School of Interactive Computing

21

Student voices

• Intro CS student (female): “I just wish I had more time to play around with that and make neat effects. But JES [IDE for class] 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.”

• High School teacher: “This was the best (non-college credit) workshop I have ever taken.”

• Students in multimedia data structures: “Data structures is an important step. Use of media! It makes it fun.”

Page 22: Meeting Computing Needs Across Campus Mark Guzdial, School of Interactive Computing

22

A Media Computation Data Structures Course

• Driving question: “How did the wildebeests stampede in The Lion King?”

Page 23: Meeting Computing Needs Across Campus Mark Guzdial, School of Interactive Computing

23

Connecting to the WildebeestsIt’s all about data structures

Page 24: Meeting Computing Needs Across Campus Mark Guzdial, School of Interactive Computing

24

Rough Syllabus for CS1316

• Weeks 1-4: Recreate media computation in Java (Images, sounds, turtles, MIDI).

• Linked lists of MIDI.– Goal: Creating flexible structures for design

• Linked lists and trees of images.– Scene graph as first tree.

• Linked lists and trees of sampled sounds.– Recursive traversals.

CanonSwan

Bells Fur Elise

Page 25: Meeting Computing Needs Across Campus Mark Guzdial, School of Interactive Computing

25

Similar Assignments,but with Objects and Agents

Page 26: Meeting Computing Needs Across Campus Mark Guzdial, School of Interactive Computing

26

Syllabus (continued)

• Generalized lists and trees.

• Graphical User Interfaces as trees– Layout managers as

renderers• Continuous Simulations

– Predator-prey, disease propagation

– UML (design notation) and reuse

• Mapping Simulations to Animation– Finally! The wildebeests

and villagers• Discrete Event

Simulation– Stacks and queues are

natural here

gal1-rightface.jpg gal1-

right2.jpg

gal1-right1.jpg

gal1-rightface.jpg

Page 27: Meeting Computing Needs Across Campus Mark Guzdial, School of Interactive Computing

27

Results: CS1315 “Media Computation”

Pass WDF

04 Fall Total 80.33% 19.65%

Female 82.90% 17.10%

Male 77.46% 22.54%

04 Spring Total 89.87% 9.37%

Female 91.94% 7.58%

Male 87.50% 11.41%

03 Fall Total 86.47% 12.54%

Female 88.36% 10.27%

Male 84.71% 14.65%

Page 28: Meeting Computing Needs Across Campus Mark Guzdial, School of Interactive Computing

28

Success Rates for Specific Majors

Success rates in traditional CS1 for students in various majors average Fall ’99 to Fall ’02, compared to Spring ’03 to Fall ’05 in Media Computation.

Page 29: Meeting Computing Needs Across Campus Mark Guzdial, School of Interactive Computing

29

Results: CS1371 “Engineering”

Pass WDF

04 Fall Total 85.03% 14.87%

Female 85.55% 14.45%

Male 84.92% 14.96%

04 Spring Total 75.27% 24.27%

Female 75.54% 23.74%

Male 75.19% 24.42%

03 Fall Total 73.94% 26.06%

Female 71.72% 28.28%

Male 74.49% 25.51%

Page 30: Meeting Computing Needs Across Campus Mark Guzdial, School of Interactive Computing

30

Results of four years of evaluation

• MediaComp students are more motivated and engaged (retention data, interviews), and find the course social, creative, and relevant.– Replicated at several institutions now.

• Students in the contextualized courses program outside of class.– Immediately (engineers) and even a year

later (MediaComp)• Students in MediaComp classes (both)

spend extra time on homework “because it’s cool.”

Page 31: Meeting Computing Needs Across Campus Mark Guzdial, School of Interactive Computing

31

The Other Results

• We don’t know if they learn the same.– The challenge of comparative studies

when there is no common reality.

• In reality, majority of students do not find the course relevant to their degrees or professions.– Many do find it relevant to their lives.

• Students distinguish between “more MediaComp classes” and “more CS classes”

Page 32: Meeting Computing Needs Across Campus Mark Guzdial, School of Interactive Computing

32

Next steps…An alternative path and a minor

• What happens when you have an intro to CS course for non-majors that students pass and even enjoy?

• Define a CS minor– About 100 students today

• Create new BS in Computational Media– Joint with School of Literature,

Communications, and Culture– 58 majors in first year, 24% female

Over 200 majors today, still about ¼ female

Page 33: Meeting Computing Needs Across Campus Mark Guzdial, School of Interactive Computing

33

How about CS? Back to CS1321

Pass WDF

04 Fall Total 84.34% 15.26%

Female 89.36% 10.64%

Male 83.17% 16.34%

04 Spring Total 68.26% 31.74%

Female 67.57% 32.43%

Male 68.46% 31.54%

03 Fall Total 81.42% 18.45%

Female 77.86% 22.14%

Male 82.18% 17.67%

Page 34: Meeting Computing Needs Across Campus Mark Guzdial, School of Interactive Computing

34

A Context for CS1 for CS majors: Robotics• Microsoft Research has

funded the Institute for Personal Robotics in Education– Tucker Balch, Directing

Joint between Bryn Mawr and Georgia Tech

– http://www.roboteducation.org

• Goal is to develop a CS1 (and CS2) with robotics as the context.– Homework:

• Recursively follow a light• Enter a pyramid and take a

picture of it• Film a movie and use

MediaComp for special effects

Page 35: Meeting Computing Needs Across Campus Mark Guzdial, School of Interactive Computing

35

Using Context throughout the CS Curriculum

• The future of computing is not in merely being a good programmer.– Those skills are now

commodities that can be outsourced anywhere.

• When “The World is Flat” (Friedman), we become competitive by bridging areas and differentiating.

Page 36: Meeting Computing Needs Across Campus Mark Guzdial, School of Interactive Computing

36

Microsoft wants employees who bridge• “The nature of these jobs is not closing

the door and coding,” (Bill) Gates said. “The great missing skill is somebody who’s good at understanding engineering and bridges that [understanding] to working with customers and marketing…We can promise these people most of what they’re doing won’t be coding.”

– Gates worried over decline in US computer scientists, ComputerWorld, July 18, 2005 (by Elizabeth Montalbano)

Page 37: Meeting Computing Needs Across Campus Mark Guzdial, School of Interactive Computing

37

The Threads™ Curriculum

• We have defined 8 Threads in Computing:– Computing and People– Computing and Information

Internetworking– Computing and Media– Computing and Platforms– Computing and Intelligence– Computing and Foundations– Computing and Computational Modeling– Computing and Devices (was Embodiment)

Page 38: Meeting Computing Needs Across Campus Mark Guzdial, School of Interactive Computing

38

The BS in Computer Science under Threads™

• Each Thread specifies the courses needed to know that area well.– From introductory computing,

through advanced courses,to beyond Computer Science (Psychology, Physics, Computer Engineering).

• A degree is the union of any two Threads.– Every Combination is a

full Computer Science degree, but bridging disciplines and clearly different from “just programming.”

– No Thread choice is necessary in first year,Can always choose different Threads during degree.

Page 39: Meeting Computing Needs Across Campus Mark Guzdial, School of Interactive Computing

39

Next steps in Threads: Roles

• Threads are about conceptual focus.• Within any Thread, might play different roles:

– A Master Practitioner– An Entrepreneur– A Researcher– A Communicator/Teacher– A Public Policy Maker

• We are defining recommendations for these roles in terms of experiences and elective classes in software engineering, management, and other areas.

Page 40: Meeting Computing Needs Across Campus Mark Guzdial, School of Interactive Computing

40

Back to Computing Across Curriculum• What do we get from teaching the

rest of campus?– Problems to work on.

• The difference between Computer Science and Computing.

– Where the interesting stuff is.

– A change in culture.• Pedagogical methods.

– Critical design in Architecture

• Research methods

Page 41: Meeting Computing Needs Across Campus Mark Guzdial, School of Interactive Computing

41

Computer Scientists andReading

• Alan Perlis, Norbert Weiner, J.C.R. Licklider, C.P. Snow• Others included Vannevar Bush, Herbert A. Simon,

Marvin L. Minsky, Jay W. Forrester, Grace M. Hopper, Claude E. Shannon, John G. Kemeny, Gene M. Amdahl

Page 42: Meeting Computing Needs Across Campus Mark Guzdial, School of Interactive Computing

42

Summary

• The rest of campus needs what we have to offer.• We have found that the way they need

computing education is different than the way we offer it to our students.– Maybe we need to change what we offer to our own

students!

• We have found a contextualized computing approach works (for the measures we have now).

• There may be benefits for our culture in making more connections to the rest of campus.

Page 43: Meeting Computing Needs Across Campus Mark Guzdial, School of Interactive Computing

43

Thank you!

Mark Guzdialhttp://www.cc.gatech.edu/~mark.guzdialhttp://home.cc.gatech.edu/csl

For more on MediaComp approach (including papers, software, and slides):

http://coweb.cc.gatech.edu/mediaComp-plan

Media Computation Teachers’ Site:

http://coweb.cc.gatech.edu/mediaComp-teach

Page 44: Meeting Computing Needs Across Campus Mark Guzdial, School of Interactive Computing

44

What Georgia Tech TeachesCS1301Intro to

Programming in Python for CS

majors

CS1331CS1+2 in

Java

CS1332Data

Structures and

Algorithms in Java

CS1315 (Media Computation CS1 in Python)

CS1316 (Structure & Behavior—Multimedia data structures in Java)

CS1371(Computing forEngineering in MATLAB (only))

CS2110(Low-level programming in C)

CS2260: Media Device Architectures

CS1372Algorithm Design in C

Institute for Computing Education (ICE@GT) Summer Workshops for High School Teachers: Media Computation CS1 in Java

Page 45: Meeting Computing Needs Across Campus Mark Guzdial, School of Interactive Computing

45

Computing and Devices

Page 46: Meeting Computing Needs Across Campus Mark Guzdial, School of Interactive Computing

46

Computing and Information Internetworking

Page 47: Meeting Computing Needs Across Campus Mark Guzdial, School of Interactive Computing

47

Want a job in Information Security?• Information Internetworking +

Foundations– Encoding and storing information

securely for organizations

• Information Internetworking + Platforms– Making information flow securely

between large databases and small cell phones and PDAs.

Page 48: Meeting Computing Needs Across Campus Mark Guzdial, School of Interactive Computing

48

Preparing for Jobs to Come

• The Future of Robotics:Devices + People

Page 49: Meeting Computing Needs Across Campus Mark Guzdial, School of Interactive Computing

49

Preparing for Jobs to Come

• Platforms + Media• Platforms +

People

Page 50: Meeting Computing Needs Across Campus Mark Guzdial, School of Interactive Computing

50

For More Information…

http://www.cc.gatech.edu/threads