Media as a Context for Learning Computation

Slides:



Advertisements
Similar presentations
Making Sense of Black and Minority Ethnic (BME) Student Learning Experiences : stories from BME students in a North East University HE Academy Research.
Advertisements

Providing a Context to Motivate Non- Majors Into Computing Mark Guzdial College of Computing/GVU Georgia Institute of Technology.
Tracking an Innovation in Introductory CS Education from a Research University to a Two-Year College Allison Elliott Tew and Mark Guzdial Georgia Institute.
Innovative Practices in Computer Science Barbara Ericson Georgia Institute of Technology CCLI Conference Aug 2008.
Media Computation as An Approach to Motivate and Retain Computing Students : Inventing a new approach to computing education at Georgia Tech Mark Guzdial.
In Pursuit of Collaborative Dynbooks Mark Guzdial, Story: –What are Dynabooks and why collaborative? –CoWeb/Swiki.
Computer Science Curricula Computer Science Major Computer Systems Concentration (CSC) Software Engineering Concentration (SEC) –New for Fall 2005.
Picture Color Manipulation. Using a Loop Our first picture recipe def decreaseRed(picture): for p in getPixels(picture): value=getRed(p) setRed(p,value*0.5)
Introduction to Media Computation: Inventing a new approach to computing education at Georgia Tech Mark Guzdial Associate Professor College of Computing/GVU.
CS 0.5: A Better Approach to Introductory Computer Science for Majors Bob Sloan, Pat Troy University of Illinois at Chicago SIGCSE 2008.
CS 101: Introduction to Computing Programming picture manipulations Developed by Mark Guzdial, Georgia Institute of Technology, 2003–2004; modified by.
Constructing Media as a Context for Teaching Computing and Motivating Women and Non-Majors: Inventing a new approach to computing education at Georgia.
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.
Media Computing Instructor Byung Kim Olsen 231 Office hours – MWF 9:00-10:00 AM or by appointment.
Computing for Everyone: Improving Global Competitiveness and Understanding of Our World Mark Guzdial (School of) Interactive and Intelligent Computing.
Towards Collaborative Dynabooks In Alan Kay’s vision, the computer’s greatest purpose is to facilitate learning through creation and exploration of multimedia.
Contrasting Women’s Experience in CS at Different Institutions Mark Guzdial College of Computing/GVU Georgia Tech Our Goal: Ubiquitous Computing Education.
A CS1 Course Designed to Address Interests of Women Lauren Rich¹*, Heather Perry, and Mark Guzdial* College of Computing/GVU Georgia Tech *Presenting¹Now,
“Introduction to Media Computation” A New Core Area B Course Mark Guzdial, 18 July 2002.
CS1315: Introduction to Media Computation Making sense of functions.
Constructing Media as a Context for Teaching Computing and Motivating Women and Non-Majors: Inventing a new approach to computing education at Georgia.
Making and Manipulating Media for Learning Mark Guzdial College of Computing/GVU Georgia Institute of Technology.
Teaching Programming to Everyone through Media Computation Mark Guzdial College of Computing/GVU Georgia Institute of Technology.
Design Process for a Non- Majors Computing Course Mark Guzdial & Andrea Forte College of Computing/GVU Georgia Institute of Technology With thanks for.
CS 101: Introduction to Computing Color replacements and targeted color replacement (if statement) Developed by Mark Guzdial, Georgia Institute of Technology,
Chapter 1: Introduction to Computer Science and Media Computation.
Constructing Media as a Context for Teaching Computing and Motivating Women and Non-Majors: Inventing a new approach to computing education at Georgia.
Great Principles of Computing: Computing for Everyone Mark Guzdial College of Computing/GVU Georgia Institute of Technology.
Introduction to Media Computation: Inventing a new approach to computing education at Georgia Tech Mark Guzdial Associate Professor College of Computing/GVU.
CS1315: Introduction to Media Computation Color replacements and targeted color replacement (IF)
CS1315: Introduction to Media Computation Using Loops for Pictures.
A Media Computation Cookbook Manipulating Images and Sounds for Use in Alice Part 1: Image Manipulations Part 2: Changing colors in an area Part 3: Chromakey.
CS 0.5 A New Approach to Introductory Computer Science for Majors Supported by NSF Grant DUE
A Media Computation Cookbook Manipulating Images and Sounds for Use in Alice Part 1: Image Manipulations Part 2: Advanced Image Manipulations, e.g., changing.
CS1315 Introduction to Media Computation Introduction: Why study computer science at all?!?
CS 101: Introduction to Computing Programs that change Pictures Developed by Mark Guzdial, Georgia Institute of Technology, 2003–2004; modified by Robert.
Examples from Georgia Tech’s CS 1315: Introduction to Media Computation Class examples and student work.
Media Computation: Introducing Computing Contextualized in Video and Audio Processing Mark Guzdial and Barbara Ericson.
CS1315: Introduction to Media Computation Introduction to Course & Administrivia.
Media computation as a context for learning computing Mark Guzdial College of Computing/GVU Georgia Institute of Technology.
Introduction to Media Computation: A new CS1 approach that addresses women’s interests Mark Guzdial College of Computing/GVU Georgia Institute of Technology.
Chapter 1: Introduction to Computer Science and Media Computation.
AP Computer Science Principals Course Importance and Overview
Creativity of Algorithms & Simple JavaScript Commands
Module Example: Influence of Race and Gender on Income1
Retain a Freshman Today…
Teaching Scientific Communication within an REU
Chapter 1: Introduction to Computer Science and Media Computation
CS1315 Introduction to Media Computation
Media as a Context for Learning Computation
Mathshell in Practice Ready Made Quality Group Work 6-8
Introduction CSE 1310 – Introduction to Computers and Programming
Introduction to Programming
CS Programming I Jim Williams, PhD.
Chapter 1: Introduction to Computer Science and Media Computation
CS1315 Introduction to Media Computation
Workshop for Programming And Systems Management Teachers
Faculty use of digital resources and its impact on digital libraries
CS1315: Introduction to Media Computation
CS1315 Introduction to Media Computation
UNIT 3 CHAPTER 1 LESSON 4 Using Simple Commands.
Helen Jefferis, Soraya Kouadri & Elaine Thomas
Media as a Context for Learning Computation
Mark Guzdial College of Computing/GVU Georgia Tech
A Media Computation Cookbook
CS1315: Introduction to Media Computation
Multimedia Summer Camp
CS1315: Introduction to Media Computation
Chapter 1: Introduction to Computer Science and Media Computation
Presentation transcript:

Media as a Context for Learning Computation Mark Guzdial College of Computing/GVU

Story Computer science education is in a sorry state That’s a serious problem for GVU The challenges we need to face The argument for a course in digital media Description of the course that’s on-going now

Computer Science Classes Today CS1 is one of the most despised courses for non-majors CS retention rates are lower than the rest of campus 65% for 1995 cohort, vs. 73% for Engineeering Drop-out rates near 50% at many institutions Female enrollment in CS is dropping nationally At Georgia Tech, we’re below the average Calculus is about rates. CS is about process. Process is even more important in most fields than rates.

Why? “Tedious,” “boring,” “lacking creativity,” “asocial” CS culture seems most attractive to white males.

CS Freshmen Majors, Fall 2001 Number SAT avg (combined) Female 38 1342 Male 303 1371 African-American 15 1349 Hispanic 2 1350 Caucasian 233 1379 Total 341 1368 Maximum SAT score is 1600. GaTech’s overall SAT average is 1331 for the same cohort. One multi-racial not in the above (1500+ SAT). No native americans at all. Note: Very few females or minority ethnic groups.

Why should GVU care? 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? In Alan Kay’s vision of the computer, the Dynabook, programming itself is a medium Literacy doesn’t mean just being able to read – real literacy includes being able to write

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. If we can’t teach others how to make these technologies and how they work, our technologies will never have the influence they might

Why should anyone care? In 1961, Alan Perlis argued that computer science is more important in a liberal education than calculus Calculus is about rates, and that’s important to many. Computer science is about process, which is important to everyone

The Challenges We have to motivate non-CS students to care about computing We have to make it social, creative, exciting, and not tedious Which is how many of us already see Computing, but that’s not getting communicated

Our Attempt: Introduction to Media Computation A course for non-CS and non-Engineering majors International Affairs, STAC, Architecture, Management, Biology, etc. 120 students this semester, planning 400-600 in the Fall 2/3 female in this semester’s CS1315 Focus: Learning programming within the context of media manipulation and creation

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.

Programming as a Communications Skill Knowing how to program means to understand one’s tools. Maybe means can transfer tool skills more easily Students already telling us that they’re excited to learn how PhotoShop works. And it means that, if you have to, you may be able to grow your own What if you want to say something that Adobe/Apple/Microsoft won’t let you? Programming Knowledge = Freedom

Programming as Communicating Process A program is a succinct, executable process description That makes valuable for explaining process We use examples from Biology and Management to make this point

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 Does this deal with the tediousness issues?

How the class was developed Created in response to “recent unpleasantness” On-line surveys, meetings with students Inspired in part by ECE’s DSP First Developed with an advisory board from across campus: Psych, HPS, Math, ECE, CETL Trialed in faculty workshop in mid-December

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) Used like this: >>> file="/Users/guzdial/mediasources/barbara.jpg" >>> picture=makePicture(file) >>> show(picture) >>> decreaseRed(picture) >>> repaint(picture) Is this tedious?

A Sunset-generating function How do we turn this beach scene into a sunset? What happens at sunset? Tried increasing the red, but that failed. New Theory: As the sun sets, less blue and green is visible, which makes things look more red.

A Sunset-generation Function def makeSunset(picture): for p in getPixels(picture): value=getBlue(p) setBlue(p,value*0.7) value=getGreen(p) setGreen(p,value*0.7)

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)

def chromakey(source,bg): for x in range(1,getWidth(source)): for y in range(1,getHeight(source)): p = getPixel(source,x,y) # My definition of blue: If the redness + greenness < blueness if (getRed(p) + getGreen(p) < getBlue(p)): #Then, grab the color at the same spot from the new background setColor(p,getColor(getPixel(bg,x,y))) return source Example of the kind of media computation that we’ll be asking students to do in Media Computation in class.

Rough overview of Syllabus Defining and executing functions Pictures Psychophysics, data structures, defining functions, for loops, if conditionals Sounds Text Converting between media, generating HTML, “flattening” media and saving to a database Movies Then, Computer Science

Computer science as a solution to their problems Writing programs is hard! Are there ways to make it easier or shorter? Functional programming and recursion Object-oriented programming Movie-manipulating programs take a long time to execute. Why? Algorithmic complexity Why is PhotoShop so much faster? Compiling vs. interpreting

Assignments encourage collaboration Homework are all collaborative Quizzes are preceded by nearly-identical, collaborative pre-quizzes Two “take-home exams” (programming assignments) are non-collaborative

Assignments encourage creativity For several homework, the task is to manipulate media in some way, but we don’t care what media Creating a collage, building an animation Encouraging homework results to be posted to CoWeb in galleries Purchasing Webcams to loan to students to create their own media

These aren’t CMU CS undergrads We’re realizing that these students are not like the ones in the Fisher & Margolis class. Students who can get into CMU’s CS program (often the “computer experts” in their families and schools) are not the same as non-CS and non-Engineering students at Georgia Tech. “I type the command and nothing happens. The Enter key?” “Do I need a Zip disk to unpack a zip file?”

Tying it back to student goals and GVU Working with Jay Bolter (jay.bolter@lcc.gatech.edu) and Diane Gromala’s new course LCC 3404e Designing for the Internet Aimed at Freshmen and Sophomores Students learn to analyze and design Web sites Approach combines: Visual design principles Information architecture and HCI CS1315 teaches the students’ the technologies, LCC3404e teaches them how to use the technology to communicate. Students tell us what they really want is to be web designers.

Assessing the effort Comparing CS1321, COE1361, and CS1315 in terms of learning and motivation, broken out by gender and major Observational study of student performance to understand problems and strategies Interview study of impact on women

Summary CS Education is in a sorry state, and fixing it is important to us and others Media Computation may be a useful context to motivate student performance Our class is aimed at addressing the challenges we’ve identified, and we’re trying it now

Acknowledgements Course materials development: Jason Ergle, Claire Bailey, David Raines, Joshua Sklare, Adam Wilson, Andrea Forte, Mark Richman, Matt Wallace, Alisa Bandlow. Assessment: Andrea Forte, Rachel Fithian, Lauren Rich Thanks to Bob McMath and the Al West Fund, to GVU and CoC, and 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 guzdial@cc.gatech.edu