Media Computation as An Approach to Motivate and Retain Computing Students: Inventing a new approach to computing education at Georgia Tech - PowerPoint PPT Presentation

1 / 36
About This Presentation
Title:

Media Computation as An Approach to Motivate and Retain Computing Students: Inventing a new approach to computing education at Georgia Tech

Description:

Driving question: 'How did the wildebeests stampede in The Lion King? ... Harmon, Yu Cheung Ho, Keith McDermott, Eric Mickley, Larry Olson, Lauren Biddle ... – PowerPoint PPT presentation

Number of Views:50
Avg rating:3.0/5.0
Slides: 37
Provided by: markgu8
Category:

less

Transcript and Presenter's Notes

Title: Media Computation as An Approach to Motivate and Retain Computing Students: Inventing a new approach to computing education at Georgia Tech


1
Media Computation as An Approach to Motivate and
Retain Computing Students Inventing a new
approach to computing education at Georgia Tech
  • Mark Guzdial
  • School of Interactive Computing
  • College of Computing
  • Georgia Institute of Technology

2
Story
  • Where have all the students gone?Teaching
    Computing for Everyone
  • First course Introduction to Media Computation
  • Its about context
  • What students do in it
  • Second course Representing Structure and
    Behavior
  • Using Disneys Wildebeests and Villagers,as a
    context for learning data structures
  • Beyond the two courses A path into CS
  • A context in our CS1
  • Applying contexts more broadly Threads

3
Where have all the students gone?
  • Were losing students, at an increasing rate.
  • Women and minority percentage of enrollment
    dropping
  • High failure rates in CS1 (35-50 or more)
  • Fewer applications into CS All programming jobs
    going to Asia.
  • Research results Tedious, boring, lacking
    creativity, asocial
  • All of this at a time when we recognize the
    critical role of IT in our economy, in all jobs

4
Hypothesis Economy (1st order) and Curriculum
(2nd order)
  • Our computing curriculum has never been
    attractive.
  • It is designed for the sole purpose of producing
    software engineers.
  • For years, software engineering was a pathway to
    wealth (not just jobs)
  • People will go through a lot for wealth.
  • Dot-com bust plus off-shoring gtits not about
    wealth.
  • Recent uptick Google buys YouTube for 2B

5
Strategy Make CS education ubiquitous
  • Motivate students to care about the broad range
    of what is computing.
  • Create contextualized courses, minors, and
    non-traditional paths into CS
  • Make it relevant, social, and creative.
  • By doing this, we give CS majors their reasons to
    be there, and discover new CS majors.

6
Our Three CS1s
  • CS1301 Introduction to ComputingTraditional CS1
    for our CS majors, Science majors (math, physics,
    psychology, etc.). Trialing this semester All
    robotics.
  • CS1371 Computing for EngineersCS1 for Engineers.
    Same topics as CS1321, but using MATLAB with
    Engineering problems in homework and examples.
  • CS1315 Introduction to Media Computation

7
What Georgia Tech Teaches
CS1301Intro to Programming in Python for CS
majors
CS1315 (Media Computation CS1 in Python)
CS1371(Computing forEngineering in MATLAB
(only))
CS1316 (Structure BehaviorMultimedia data
structures in Java)
CS1372Algorithm Design in C
CS1331CS12 in Java
Institute for Computing Education (ICE_at_GT) Summer
Workshops for High School Teachers Media
Computation CS1 in Java
CS1332Data Structures and Algorithms in Java
CS2110(Low-level programming in C)
CS2260 Media Device Architectures
8
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

9
Examples of Student Work
Canon- LinkedList of (MIDI) Music
Soup-Audio Collage
10
Overall Results
  • Average CS1 success pre-MediaComp Average
    72.8In MediaComp (51 female) Average 84 (as
    high as 90)
  • Similar results at Gainesville, U.Ill-Chicago
    (76 gt 91), ANU
  • Specific majors more dramaticManagement
    majorss success rate 49 gt 88
  • Students are excited, and becoming CS majors, CS
    minors, CS teachers, and Computational Media
    majors (nearly 200, 25 female)
  • MediComp students succeed in traditional CS
    classes.

11
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 thats the nice thing about
    this class is that you could go as deep into the
    homework as you wanted. So, Id 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.

12
CS1315 Introduction to Media Computation
  • Average 400/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

13
def clearRed(picture) for pixel in
getPixels(picture) setRed(pixel,0)
def greyscale(picture) for p in
getPixels(picture) rednessgetRed(p)
greennessgetGreen(p) bluenessgetBlue(p)
luminance(rednessbluenessgreenness)/3
setColor(p, makeColor(luminance,luminance,
luminance))
def negative(picture) for px in
getPixels(picture) redgetRed(px)
greengetGreen(px) bluegetBlue(px)
negColormakeColor(255-red,255-green,255-blue)
setColor(px,negColor)
14
Rough overview of Syllabus for CS1315 (CS1)
  • 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 topics (last 1/3 class)

15
Computer science inter-mixed
  • We talk about algorithms across media
  • Sampling a picture (to scale it) is the
    samealgorithm as sampling a sound (to shift
    frequency)
  • Blending two pictures (fading one into the other)
    and two sounds is the same algorithm.
  • We talk about representations and mappings
    (Goedel)
  • From samples to numbers (and into Excel), through
    a mapping to pixel colors

16
Computer science topicsas solutions to their
problems
  • Why is PhotoShop so much faster?
  • Compiling vs. interpreting
  • Machine language and how the computer works
  • Movie-manipulating programs take a long time to
    execute. Why? How fast/slow can programs be?
  • Algorithmic complexity
  • Writing programs is hard! Are there ways to
    make it easier? Or at least shorter?
  • Object-oriented programming
  • Functional programming and recursion
  • What do other languages look like?
  • JavaScript introduction

17
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.
18
Example CollageCode
targetX256 for sourceX in range(1,
getWidth(venice6),3) targetY192 for
sourceY in range(1, getHeight(venice6),3)
pxgetPixel (venice6, sourceX, sourceY)
cxgetPixel (canvas, targetX, targetY)
setColor(cx,getColor(px)) targetYtargetY
1 targetXtargetX 1 mirrorVertical(canva
s) show(canvas) return(canvas) def
IncreaseRed (venice1) for pixel in
getPixels(venice1) myred getRed(pixel)
setRed (pixel, myred 1.5) def
IncreaseBlue(venice2) for pixel in
getPixels(venice2) myblue getBlue(pixel)
setBlue (pixel, myblue 1.5) def
IncreaseGreen(venice5) for pixel in
getPixels(venice5) mygreen
getGreen(pixel) setGreen (pixel, mygreen
1.5) def greyScaleNew(venice4) for px in
getPixels(venice4) newRed getRed(px)
0.299 newGreen getGreen(px) 0.587
newBlue getBlue(px) 0.114 luminance
newRednewGreennewBlue setColor(px,makeColor(
luminance,luminance,luminance))
  • negative(venice3)
  • targetX1
  • for sourceX in range(1, getWidth(venice3),3)
  • targetY192
  • for sourceY in range(1, getHeight(venice3),3)
  • pxgetPixel (venice3, sourceX, sourceY)
  • cxgetPixel (canvas, targetX, targetY)
  • setColor(cx,getColor(px))
  • targetYtargetY 1
  • targetXtargetX 1
  • greyScaleNew(venice4)
  • targetX128
  • for sourceX in range(1, getWidth(venice4),3)
  • targetY288
  • for sourceY in range(1, getHeight(venice4),3)
  • pxgetPixel (venice4, sourceX, sourceY)
  • cxgetPixel (canvas, targetX, targetY)
  • setColor(cx,getColor(px))
  • targetYtargetY 1
  • def hw3()
  • venice1makePicture(getMediaPath("venice.jpg"))
  • print venice1
  • venice2makePicture(getMediaPath("venice.jpg"))
  • print venice2
  • venice3makePicture(getMediaPath("venice.jpg"))
  • print venice3
  • venice4makePicture(getMediaPath("venice.jpg"))
  • print venice4
  • venice5makePicture(getMediaPath("venice.jpg"))
  • print venice5
  • venice6makePicture(getMediaPath("venice.jpg"))
  • print venice6
  • canvasmakeEmptyPicture(640,480)
  • print canvas
  • IncreaseRed(venice1)
  • targetX1
  • for sourceX in range(1,getWidth(venice1),3)
  • targetY1

19
Follow-up SurveyDid it have a lasting impact?
  • In Spring 2004, conducted an email survey with
    students from Spring 2003 (n120) and Fall 2003
    (n303) students.
  • 59 responses
  • 11 (19) had written a Python program on their
    own since the class had ended.
  • 27 had edited media that they hadnt previously.

20
Did the class change how you interact with
computers?
  • 20 said no.
  • 80 said yes, but it was also more about changing
    how they thought about computers.
  • Definitely makes me think of what is going on
    behind the scenes of such programs like Photoshop
    and Illustrator.
  • 'I understand technological concepts more easily
    now I am more willing and able to experience new
    things with computers now
  • 'I have learned more about the big picture behind
    computer science and programming. This has
    helped me to figure out how to use programs that
    I've never used before, troubleshoot problems on
    my own computer, use programs that I was already
    familiar with in a more sophisticated way, and
    given me more confidence to try to problem solve,
    explore, and fix my computer.

21
Second course CS1316 Representing structure and
behavior
  • Driving question How did the wildebeests
    stampede in The Lion King?
  • 31 students, 75 female, 91 success rate.

22
Connecting to the WildebeestsIts all about data
structures
23
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.

Swan
Canon
Bells
Fur Elise
24
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-rightface.jpg
gal1-right1.jpg
gal1-right2.jpg
25
HW2 Create a collage, but must use turtles
26
Steve Frederick Georgia Institute of Technology
27
Priya Harshini Georgia Institute of Technology
28
Steve Frederick Georgia Institute of Technology
29
Do the two semesters prepare students for a
regular CS course?
- CS1322 was our previous CS2 for CS majors.
Success Fail TOTAL
From 1321 (CS1 for CS) From 1321 (CS1 for CS) 78.1 21.9 333
From 1371 (From Engineering) From 1371 (From Engineering) 72.7 27.3 681
From 1316 (From CS1315) From 1316 (From CS1315) 60.0 40.0 20
30
An alternative path, a minor, and a new degree
  • The two courses (Introduction to Media
    Computation and Representing Structure and
    Behavior) are now accepted as a valid path for CS
    students.
  • Margolis and Fishers alternative path
  • Defined a CS minor
  • Created new BS in Computational Media
  • Joint with School of Literature, Communications,
    and Culture
  • 58 majors in first year, 24 femaleNearly 200
    majors today, still about ¼ female

31
A Context for CS1 for CS majors Robotics
  • Microsoft Research has funded the Institute for
    Personal Robotics in Education
  • Tucker Balch, DirectingMonica Sweat developing
    GTs CS1
  • Joint between Bryn Mawr and Georgia Tech
  • http//www.roboteducation.org
  • Goal is to develop a CS1 and CS2 with robotics as
    the context.
  • HW2 Recursively follow a light
  • CS2 Add a camera

32
Developing Threads Carrying Context to the
Degree Level
  • A new conceptualization for an undergraduate
    degree.
  • We defined 8 Threads which together define
    Computing
  • Computing and Media, People, Platforms,
    Computational Modeling, Information
    Internetworking, Intelligence, Embodiment, and
    Foundations
  • The courses within each are core CS (some),
    advanced/new CS, and some non-CS (e.g.,
    Psychology in People Thread)

33
Threads as a Degree
  • Our BS in Computer Science is defined as any two
    Threads.
  • 28 possible paths to a degree now.
  • Advantages
  • Clearly says what CS is. It isnt just
    programming.
  • Clear differentiator for students.
  • Its not just Indias or Chinas CS
  • Explains why students take any particular course
  • Consider the possibilities if all degrees were
    Threaded.
  • Interdisciplinary degrees became easier and more
    interesting.

34
Summary
  • It is time to fix the curriculum of Computer
    Science.
  • CS for everyone is a useful goal.
  • Media Computation is a powerful context to
    motivate student retention and learning.
  • Our two courses having an impact on recruitment
    and retention.
  • Bottom line Context is a win.
  • Media is a great context.
  • Were trying robotics next.
  • Could be biology/bioinformatics, Facebook graphs,
    etc.

35
Acknowledgements
  • Faculty Collaborators Barbara Ericson, Charles
    Fowler (Gainesville)
  • 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, Allison Tew, Rachel
    Fithian, Lauren Rich, Heather Perry, Ellie
    Harmon, Bob Amar, Rachel Knickmeyer, Allison Tew,
    Lana Yarosh
  • 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

36
Thank you!
  • Mark Guzdial
  • http//www.cc.gatech.edu/mark.guzdial
  • http//coweb.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
Write a Comment
User Comments (0)
About PowerShow.com