Social Networks as a Foundation for Computer Science Owen Astrachan http://www.cs.duke.edu/~ola Social Networks, Alice Workshop, Duke 2006 1 Where are we going … Questions What should our concerns be for those choosing to major in Computer Science? courses, research, jobs, … Should we be concerned by the precipitous decline in those taking our courses or majoring or …? majors, technical students, non-technical … What can we do to ensure the ongoing success of our academic discipline? Look inward, look to others Social Networks, Alice Workshop, Duke 2006 2 Social Networks, Alice Workshop, Duke 2006 3 WWDD? Social Networks, Alice Workshop, Duke 2006 4 Questions If you gotta ask, you’ll never know Louis Armstrong: “What’s jazz?” If you gotta ask, you ain’t got it Fats Waller: “What’s rhythm?” What questions did you ask in school today? Arno Penzias via Isaac Isadore Rabi Social Networks, Alice Workshop, Duke 2006 5 Questions and Answers Judge a man by his questions rather than by his answers Voltaire Social Networks, Alice Workshop, Duke 2006 6 Computer Science What is the foundation of computer science? Historically, now, in the future What changes are here, on the horizon? From theory to practice to education Can we relate to what and how students learn? Is every generation different, the same, … Social Networks, Alice Workshop, Duke 2006 7 History and Computer Science Those who cannot remember the past are condemned to repeat it. Don’t know much about history, don’t know much about biology, don’t know much about a science book Social Networks, Alice Workshop, Duke 2006 8 Who, when? “No stretching … is required to envision computer consoles installed in every home. Everyone will have better access to the Library of Congress than the librarian himself now has. Full reports on current events, whether baseball scores, the smog index in Los Angeles or the minutes of the 178th Korean Truce Commission will be available for the asking.” John, McCarthy, Information, Chapter 1, 1966 Social Networks, Alice Workshop, Duke 2006 9 You win some, you lose some People will soon become discontented with the “canned” programs available; they will want to write their own. The ability to write a computer program will be as widespread as the ability to drive a car. Not knowing how to program will be like living in a house full of servants and not speaking their language. Many people can write simple programs after an hour or two of instruction. … Programming is far easier to learn than a foreign language or algebra. Social Networks, Alice Workshop, Duke 2006 10 kentlew.com Then and Now Bailey, SIGCSE 1972 It is remarkable that the majority of students can indeed handle fairly complex (Fortran) I/O by the end of the first six lessons, even though they have not actually been formally taught how to do it. Roberts et al, SIGCSE 2006 The problem most often cited by those attempting to teach Java to novices is the lack of a simple input mechanism, Social Networks, Alice Workshop, Duke 2006 11 Teaching Compsci in 1984 64K memory, 128K extended 8-bit, 1 Mhz 6502 processor 5Mb drive: $3500 UCSD Pascal: >$100 Owen's machine: $3000 $677.80 in 1984 has $1200 "purchase power" in 2003 http://eh.net/hmit/ppowerusd/ Social Networks, Alice Workshop, Duke 2006 12 Typical machine in 2006? Social Networks, Alice Workshop, Duke 2006 1 Gb memory 3 GHz, 32-bit chip Cache, … 160 Gb disk Lots of free resources Good academic pricing Under $600 (priced 6/19/06) 13 What has changed in 20 years? Machines Characteristics and Availability Internet Availability, IM, web, Google, … Students Comfort with technology, Expectations Social Networks, Alice Workshop, Duke 2006 14 The more things change…? Assume I took your first course(s) in 1984 and understood the concepts so completely that I could still get a 100 on the final from 1984 if I took it today (e.g., I've been in a cryogenic chamber). How would I do on the 2004 final exam? Social Networks, Alice Workshop, Duke 2006 15 What has changed in Physics? "You'd get a 100 plus or minus sigma. Intro classical physics hasn't really changed that much over the last 100 years. In graduate level e.g. E&M or quantum classes I think ditto, although sigma would be bigger (and might depend more on the instructor variation than on any real variation in the material). The main difference is, I think, that your chances of GETTING 100 now would be much higher." Rob Brown, Poohbah of Physics Instruction Social Networks, Alice Workshop, Duke 2006 16 What has changed in Biology? "The basic principles and concepts of biology haven't changed much in 20 years. What has changed relates to specific content, and in this arena the changes have been enormous. 20 years ago, we barely knew how to sequence DNA; today information of this kind has had a major impact on just about every topic in the biological sciences. Thus, some questions on an exam today would address topics that would be completely unfamiliar to a 1984 time-traveller. " Greg Wray, Director of Undergraduate Studies, Biology Social Networks, Alice Workshop, Duke 2006 17 What has changed in Economics? "… we now cover material that was only introduced in an advanced or intermediate course in 1984. In 1984 we spent the bulk of the time dealing with the Keynesian model and virtually no dialogue about supply side policies. Now the Keynesian stuff is a small subset of a much broader exposure to Aggregate demand and supply… Also there is more international coverage now - as opposed to 20 years ago for obvious reasons." Lori Leachman, Director of Undergraduate Studies, Economics Social Networks, Alice Workshop, Duke 2006 18 What has changed in Calculus? We have two varieties of calculus courses, the lab courses and the traditional ... The latter two have not changed significantly in decades, and I think that a student who fared well on the 1984 exam in those courses would do well today, and vice versa. [In the lab courses] You would ace about half the exam. The other half would be unfamiliar to you. For example, you would probably not know how to answer a problem on modeling a set of data, creating an approximation using Euler's method, interpreting derivatives in the context of applications in other fields, or giving explanations of ideas … Lewis Blake, Supervisor of First-year Instruction Social Networks, Alice Workshop, Duke 2006 19 Changes in Computer Science? Social Networks, Alice Workshop, Duke 2006 20 Changing CS? Rock, Hard place If Computer Science has changed drastically is it to keep up with fads and stylistic changes or because of fundamental changes in the discipline? Are we leveraging the technological and intellectual resources at our disposal If we haven’t changed, is it because of a solid bedrock of principles that endures? Or because we’re lazy, good-for-nothing, … Social Networks, Alice Workshop, Duke 2006 21 1985, AP Computer Science, Q2 Write a procedure Compact that eliminates all elements with value 0 from its argument, a list. Compact leaves the order of the other elements unchanged. For example, if list is (0,9,7,0,0,23,4,0) When the procedure is called, it should be (9,7,23,4) After the procedure executes. All local variables should be scalar. (declaration for Pascal record with array and count) Social Networks, Alice Workshop, Duke 2006 22 2004, AP, Question 1 public class WordList { private ArrayList myList; public void removeWordsOfLength(int len) { // you write this } } Social Networks, Alice Workshop, Duke 2006 23 Details of Question Revisited Write the WordList method removeWordsOfLength. Method removeWordsOfLength removes all words from the WordList that are exactly len lettters long leaving the order of the remaining words unchanged. For example assume that the instance variable myList of the WordList animals contains the following: {“cat”, “mouse”, “frog”, “dog”, “dog”} After the call animals.removeWordsOfLength(3) {“mouse”, “frog”} Social Networks, Alice Workshop, Duke 2006 24 What is CS? Who wants to study it? Why do they want to? Social Networks, Alice Workshop, Duke 2006 25 What is Computer Science? What is the central core of the subject? What is it that distinguishes it from the separate subjects with which it is related? What is the linking thread which gathers these disparate branches into a single discipline? My answer to these questions is simple --- it is the art of programming a computer. Social Networks, Alice Workshop, Duke 2006 26 Is this Computer Science? public static void stuff(int n){ doit(n,0,1,2); } public static void doit(int n,int f, int t, int a){ if (n == 1) move(n,f,t); else { doit(n-1,f,a,t); move(n,f,t); doit(n-1,a,t,f); } } Social Networks, Alice Workshop, Duke 2006 27 Social Networks, Alice Workshop, Duke 2006 28 NYTimes in 1984 Social Networks, Alice Workshop, Duke 2006 29 What is CS? Why study it? Do we have Physics (Math, …) Envy? “It's hard for voice over Internet Protocol or e-commerce to compete with finding the age of the universe,” Peter Lee, CMU Does familiarity breed contempt? What was different in 1984 than today? Social Networks, Alice Workshop, Duke 2006 30 Social Networks, Alice Workshop, Duke 2006 31 Social Networks, Alice Workshop, Duke 2006 32 Social Networks, Alice Workshop, Duke 2006 33 Social Networks, Alice Workshop, Duke 2006 34 COHFE Amherst College, Barnard College, Brown University, Bryn Mawr College, Carleton College, Columbia University, Cornell University, Dartmouth College, Duke University, Georgetown University, Harvard University, Johns Hopkins University, Massachusetts Institute of Technology, Mount Holyoke College, Northwestern University, Oberlin College, Pomona College, Princeton University, Rice University, Smith College, Stanford University, Swarthmore College, Trinity College, University of Chicago, University of Pennsylvania, University of Rochester, Washington University in St. Louis, Wellesley College, Wesleyan University, Williams College, Yale University Social Networks, Alice Workshop, Duke 2006 35 Social Networks, Alice Workshop, Duke 2006 36 What’s wrong with this picture? Why is the first year different from all other years? Social Networks, Alice Workshop, Duke 2006 37 Algorithm Arch OS AI CMU MIT Stanford Berkeley UIUC Cornell UTexas UW Cal Tech Wisc G. Tech Maryland Brown UCLA Michigan UNC Penn Duke Harvard Purdue Social Networks, UCSD Alice Workshop, Duke 2006 38 Books and Approaches Used Social Networks, Alice Workshop, Duke 2006 39 Social Networks, Alice Workshop, Duke 2006 40 Social Networks, Alice Workshop, Duke 2006 41 If you don’t take a course in CS, you won’t major in it. Why is the first year different from all other years? Social Networks, Alice Workshop, Duke 2006 42 Who's going to College? Social Networks, Alice Workshop, Duke 2006 43 Who's going to College? Social Networks, Alice Workshop, Duke 2006 44 Who's going to College? Social Networks, Alice Workshop, Duke 2006 45 How do we get Students into the Compsci Tent? Why is the first year different from all other years? Social Networks, Alice Workshop, Duke 2006 46 Interdisciplinary minors At Duke it is difficult to double major in sciences Too many requirements, 17 courses in biology Students are interested in credentials No business major/minor, certificate program (requires intro, capstone, six courses) Minor requires five courses, double counting ok Three courses in CS, two in econ or biology From gene to social networks, data mining, … Social Networks, Alice Workshop, Duke 2006 47 Genome Revolution Focus Course Arts in Contemporay Society, Exploring the Mind, Evolution and Humankind, 20th Century Europe, Visions of Freedom, The Genome Revolution and its Impact on Society, … Three of four courses, one writing, two others. Interdisciplinary 0.5 credit seminar P/F Seminars, students live in same dorm 600+ out of 1600 in FOCUS course For Genome, 80 applicants for 30 slots, 65% women In CS Genomics course 8 women, 9 men Social Networks, Alice Workshop, Duke 2006 48 Simple examples Given strand of DNA, calculate CG ratio Potential source of proteins “CGGATTATC” Given protein “HLVWW” calculate number of different DNA strands that could code for it 64 codons, 20 amino acids Find heaviest protein in array of proteins Given atomic mass of amino acids Interpret ORF data from NCBI website Social Networks, Alice Workshop, Duke 2006 49 From Algorithms to Objects Read DNA assumed to be in 5’ to 3’ orientation Use BioJava to read via http Construct reverse complement (3’ to 5’) From CAATT produce AATTG How big is the human genome? Runtime of algorithm O(1) Social Networks, Alice Workshop, Duke 2006 50 Computer Science is filled with real-world examples. Why is the first year different from all other years? Social Networks, Alice Workshop, Duke 2006 51 A picture is worth … Social Networks, Alice Workshop, Duke 2006 52 A thousand words Write class Cat that says 'meow' Write LoudDog that says 'bark-bark' when Dog says 'bark' Social Networks, Alice Workshop, Duke 2006 53 How do we teach CS? Social Networks, Alice Workshop, Duke 2006 54 Putting it all together … …we conclude that students are not given sufficient instruction in how to "put the pieces together." Focusing explicitly on specific strategies for carrying out the coordination and integration of the goals and plans that underlie program code may help to reverse this trend. Sporher and Soloway, Novice mistakes: Are the folks wisdoms correct? Studying the Novice Programmer, 198955 Social Networks, Alice Workshop, Duke 2006 Changing Data into Knowledge We provide an unjust education if we do not give every student the maximum opportunity for learning. Depending on their natural abilities, imbalance in education deprives some students of learning more than others. Those who are naturally more creative, or have better memories, or are more reflective, or are more active have different opportunities if we do not provide balance. That is unjust. James Zull: The Art of Changing the Brain Social Networks, Alice Workshop, Duke 2006 56 Teaching as … English is not history and history is not science and science is not art and art is not music, and art and music are minor subjects and English, history and science major subjects, and a subject is something you 'take' and when you have taken it, you have 'had' it, and if you have 'had' it, you are immune and need not take it again." (The Vaccination Theory of Education?) Social Networks, Alice Workshop, Duke 2006 57 Back to the Future How will we know when we get there? Social Networks, Alice Workshop, Duke 2006 58 A Future for Computer Science? Social Networks, Alice Workshop, Duke 2006 59 What does the Internet look like? Social Networks, Alice Workshop, Duke 2006 60 Social Networks, Alice Workshop, Duke 2006 61 Social Networks, Alice Workshop, Duke 2006 62 Is there a Science of Networks? From Erdos numbers to random graphs to Internet From FOAF to Selfish Routing Modeling, simulation, and hypotheses Computer Science? From the facebook to tomogravity How do we model networks, measure them? What mathematics is necessary? Will the real-world intrude? Social Networks, Alice Workshop, Duke 2006 63 Network Models (Barabasi) Differences between Internet, Kazaa, Chord Building, modeling, predicting Static networks, Dynamic networks Modeling and simulation Random and Scale-free Implications? Structure and Evolution Modeling via Touchgraph Social Networks, Alice Workshop, Duke 2006 64 Web-based social networks http://trust.mindswap.org Myspace Passion.com Friendster Black Planet Facebook 73,000,000 23,000,000 21,000,000 17,000,000 8,000,000 Who’s using these, what are they doing, how often are they doing it, why are they doing it? Social Networks, Alice Workshop, Duke 2006 65 Golbeck’s Criteria Accessible over the web via a browser What about the new MOG.com? Users explicitly state relationships Not mined or inferred Relationships visible and browsable by others Reasons? Support for users to make connections Simple HTML pages don’t suffice Social Networks, Alice Workshop, Duke 2006 66 CSE 112, Networked Life (UPenn) Find the person in Facebook with the most friends Document your process Find the person with the fewest friends What does this mean? Search for profiles with some phrase that yields 30100 matches Graph degrees/friends, what is distribution? Social Networks, Alice Workshop, Duke 2006 67 What can we do with real data? How do we find a graph’s diameter? This is the maximal shortest path between any pair of vertices Can we do this in big graphs? What is the center of a graph? From rumor mills to terrorists How is this related to diameter? Demo GUESS (as augmented at Duke) IM data, Audioscrobbler data Social Networks, Alice Workshop, Duke 2006 68 My recommendations at Amazon Social Networks, Alice Workshop, Duke 2006 69 And again… Social Networks, Alice Workshop, Duke 2006 70 Finally, … Social Networks, Alice Workshop, Duke 2006 71 From Pigou to Braess Roughgarden terminology Selfish Routing Cost as measure of social welfare Non-cooperative agents Nash flows Optimality Game Theoretic 0 72 Social Networks, Alice Workshop, Duke 2006 SCH Alan Kay "Simple things should be simple. Complex things should be possible". "The best way to predict the future is to invent it" Social Networks, Alice Workshop, Duke 2006 73