Title: Social Networks as a Foundation for Computer Science
1Social Networksas a Foundationfor Computer
Science
- Owen Astrachan
- http//www.cs.duke.edu/ola
2Where 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
3(No Transcript)
4WWDD?
5Questions
- If you gotta ask, youll never know
- Louis Armstrong Whats jazz?
- If you gotta ask, you aint got it
- Fats Waller Whats rhythm?
-
- What
questions did you ask in school - today?
- Arno Penzias via Isaac Isadore Rabi
6Questions and Answers
- Judge a man by his questions rather than by his
answers -
Voltaire
7Computer 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,
8History and Computer Science
- Those who cannot remember the past are condemned
to repeat it. - Dont know much about history, dont know much
about biology, dont know much about a science
book
9Who, 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
10You 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.
11Then and Now
kentlew.com
- 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,
12Teaching Compsci in 1984
- 64K memory, 128K extended
- 8-bit, 1 Mhz 6502 processor
- 5Mb drive 3500
- UCSD Pascal gt100
- Owen's machine 3000
- 677.80 in 1984 has 1200 "purchase power" in
2003 - http//eh.net/hmit/ppowerusd/
13Typical machine in 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)
14What has changed in 20 years?
- Machines
- Characteristics and Availability
- Internet
- Availability, IM, web, Google,
- Students
- Comfort with technology, Expectations
15The 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?
16What 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.
EM 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
17What 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
18What 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
19What 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
20Changes in Computer Science?
21Changing 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 havent changed, is it because of a solid
bedrock of principles that endures? Or because
were lazy, good-for-nothing,
221985, 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)
232004, AP, Question 1
- public class WordList
-
- private ArrayList myList
- public void removeWordsOfLength(int len)
-
- // you write this
-
24Details 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
25What is CS? Who wants to study it? Why do they
want to?
26What 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.
27Is 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)
-
28(No Transcript)
29NYTimes in 1984
30What 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?
31(No Transcript)
32(No Transcript)
33(No Transcript)
34(No Transcript)
35COHFE
- 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
36(No Transcript)
37Whats wrong with this picture?
- Why is the first year different from all other
years?
38Algorithm 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
UCSD
39Books and Approaches Used
40(No Transcript)
41(No Transcript)
42If you dont take a course in CS, you wont major
in it.
- Why is the first year different from all other
years?
43Who's going to College?
44Who's going to College?
45Who's going to College?
46How do we get Studentsinto the Compsci Tent?
- Why is the first year different from all other
years?
47Interdisciplinary 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,
48Genome 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
49Simple 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
50From 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)
51Computer Science is filled with real-world
examples.
- Why is the first year different from all other
years?
52A picture is worth
53A thousand words
- Write class Cat that says 'meow'
- Write LoudDog that says 'bark-bark' when Dog
- says 'bark'
54How do we teach CS?
55Putting 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, 1989
56Changing 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
57Teaching 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?)
58Back to the Future
- How will we know when we get there?
59A Future for Computer Science?
60What does the Internet look like?
61(No Transcript)
62(No Transcript)
63Is 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?
64Network 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
65Web-based social networks
- http//trust.mindswap.org
- Myspace 73,000,000
- Passion.com 23,000,000
- Friendster 21,000,000
- Black Planet 17,000,000
- Facebook 8,000,000
- Whos using these, what are they doing, how often
are they doing it, why are they doing it?
66Golbecks 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 dont suffice
67CSE 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
30-100 matches - Graph degrees/friends, what is distribution?
68What can we do with real data?
- How do we find a graphs 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
69My recommendations at Amazon
70And again
71Finally,
72From Pigou to Braess
- Roughgarden terminology
- Selfish Routing
- Cost as measure of social welfare
- Non-cooperative agents
- Nash flows
- Optimality
- Game Theoretic
SCH
73Alan Kay
- "Simple things should be simple. Complex things
should be possible". - "The best way to predict the future is to invent
it"