SPLASH Keynote.Key
Total Page:16
File Type:pdf, Size:1020Kb
• It’s been a great week at SPLASH A human view of • One of the things I’ve enjoyed most is learning about the many valuable, programming languages diverse perspectives on PL research. Andrew J. Ko, Ph.D. • These perspectives are actually what I want to talk about today. • In particular, I want to talk about how our perspectives on PL shape the PL research we do, and in specifically the research we don’t do. • I’d like to start on a somber note. Seymour Papert 1928-2016 • Seymour Papert died three months ago. • Did many incredible things for computing Computers as thinking tools • (Read) Constructionism Neural networks One Laptop Per Child • He also impacted generations of impactful researchers, including Terry Winograd Alan Kay (Google, d.school) • Alan Kay of Smalltalk and the Dynabook (OOP, GUIs, Smalltalk) • Terry Winograd who helped spawn Google • Mitch Resnick who helped create Scratch, used by millions to learn to code Mitch Resnick (Lego Mindstorms, Scratch) • We have to step back and ask: where did all of this incredible impact come from?, • Papert wrote about this in the early nineties in his discussion of epistemological pluralism with Sherry Turkle. • His claim was as follows. • The formal, mathematical view of computing is powerful and necessary The formal, mathematical“ • But it’s not sufficient view of computing is powerful, but insufficient ▶ • (Read) “ …equal access to even • If we want to involve the world in computing, we have to accept the the most basic elements of computation requires multiple ways of knowing and thinking about computing an epistemological pluralism, accepting the validity of multiple ways of knowing and thinking. Turkle, S., & Papert, S. (1990). Epistemological pluralism: Styles and voices within the computer culture. Signs, 16(1), 128-157. • In this talk, I want to talk about these other ways What are these other views? ? ? • Most of us in this room take a formal view of computing ? ? ? • Papert took a learning view of computing Computing Computing is a • Wha are all of these other ways? is math thinking tool ? ? ? ? ? ? • I’m not going to take on all of computing in this talk Today’s talk ? ? • Instead, I’m going to take the slightly smaller topic of PL ? ? ? • I want to support the following claims PL is math PL is a thinking tool • (Read claims) • To discover these conceptions of PL, I’m going to do what Papert would do ? ? ? ? ? ? • I’m not going to take on all of computing in this talk ? ? ? Today’s? talk ? ? • Instead, I’m going to take the slightly smaller topic of PL • I want to support the following claims There are multiple ways to view • (Read claims) programming languages (PL) • To discover these conceptions of PL, I’m going to do what Papert would do These views have a vast potential for discovery • (Should be at 5 minutes) ? ? ? Approach? ? ? Mine my experiences for different views of PL Explore these views as research agendas • To begin, I want to talk about the first program I ever encountered. Middle school 1992 • I was 12 years old • At the time, I was a typical adolescent: no status, no identity, no control • My only passion was video games, because they gave me purpose • I encountered my first program in a pre-algebra class • Our teacher had required TI-82 graphing calculators My TI-82 • He showed very little about how to program it other than giving us some trigonometric functions to copy into the program editor • I had a classmate with an older brother who knew all about how to TI Tetris program the thing • He showed us a version of Tetris that rendered on the graph • Tetris was one of my favorite games • I cut out the card to mail order a link cable so I could transfer the program to my device • A month later, I got the cable and the program, and it was a beautiful, functional replica of the Game Boy version that I adored • But, IT WAS UNBEARABLY SLOW • Disappointed that I couldn't play the game in class, I realized that it was a TI-BASIC program like the ones my teacher had shown us. I pressed edit, and was faced with tens of thousands of lines of conditionals, gotos, variables, all written in TI BASIC. • Here was my first computer program, written in a programming language, but rather than viewing it as gibberish, in this context, it was something very different: it was a form of power that, if I acquired, would allow me to bring my favorite game to school in disguise. • I got the instruction manual, read it back to back, and learned the The manual language, so I could understand how it expressed the rules of the a game • A month later, I had removed the rules that slowly rendered on the plot and instead rendered vertically on the text console, which was much faster. • I had a playable version of Tetris that I immediately shared with everyone in my class, bringing me fame, respect, and glory (at least in math class) • (And a scolding from the teacher, who suddenly had to outlaw graphing calculators from our class). • TI BASIC was a way for me to exert control over the game, to tell it to behave differently. • Also a way to exert control over the classroom, shifting my peers' attention to a game instead of algebra. PL as power • Throughout middle school, I saw PL as a form of power over my class, my peers, my teachers, and my experiences at school. • If great power comes great responsibility, what responsibility does If PL is power… knowing a PL bring? and with great power, comes great responsibility… • For example What responsibilities does knowing PL entail? • Why aren't software developers in the U.S. responsible for the failures they cause? • If power corrupts, how does PL corrupt? If PL is power… • For example, Mark Zuckerburg amassed great power at Facebook by and power corrupts… harnessing the power of programming languages to prototype social How does PL corrupt? experiences. • He used this to try to reform Newark, New Jersey public schools • Widely considered to have failed miserably, wasting $100 millions by ignoring experts • Perhaps PL provides so much power it blinds people • (Read) If PL is power… • This is President Obama doing an hour of code in D.C. and democracy distributes power… • He announced the CS For All initiative this year, which is attempting to Should democracies distribute PL? bring computing education to every public school in the U.S. • Should we be doing this? If so, how? Rest of middle school was playing with code (Unflattering photo warning) • Wow, look at that horrible posture! My playground 1993 • As I finished middle school, I learned, I primarily used my coding skills to create. • And this was my playground. • I created animations My creations • I created interactive stories • I created games with my friends • I created games for myself • I wrote on my calculator QBasic • Also Quick Basic on my PC • But the language was not the subject of interest • PL was a way for me to express myself, my ideas, and share them with my friends. • It was a medium. PL as media • McLuhan taught us that “the medium is the message” If PL is media… • If this is true, PL shape, bias, and even warp the kinds of programs we and the medium is the message… create What messages does PL enable? • How can we reason about the these biases on expression? • Do these biases go beyond how programs are written to influence what programs do in society? Marshall McLuhan • If media determines what can be expressed, how does PL design affect If PL is media… expression? and media facilitates expression • This is Resnick, who created Scratch How does PL facilitate expression? • Alan Kay, who talked about computing as “Personal Dynamic Media” back in 1976 Mitch Resnick • He’s spent the past decades trying to understand how PL fosters creativity, but also limits it. • PL was power in middle school High school 1995 • Then is was an expressive medium. • In high school, in transformed again. • This was my computer lab at West Linn High School. My computer lab • I signed up for a zero period computer science class that started at 7 am. • (Yes, that’s how passionate I was). • There were 8 of us in there, 7 who just came early to play MUDs • The class was taught by a student from the local community college. • He brought his homework in, challenged us to solve it, and then he would submit it in his class. • We were using Pascal, because that's what the 386 PC's had installed • This was my passion: the “Computer Art Club”. My hobby • These were my friends, artists, musicians, and other weirdos who liked to do strange things with computers. • At the time, I was obsessed with 3D rendering and all of the geometry it entails • I had read about a game that was trying to render scenes with ellipses instead of polygons and I was curious if I could do the same. • My teacher asked what I was up to and I explained that the ellipses were Profiling rendering too slowly to do anything interactive • He suggested I profile it and we found out it my rendering algorithm was spending 95% of its time on square roots • He suggested that I talk to my math teacher to find out if she knew of any ways of computing square roots faster, that maybe I could use instead of the built in Pascal library • Now, my teacher, Mrs.