480 likes | 547 Views
Ten Things I Like about CS Graduate Research (and Five I Don’t). Bill Howe Phd Student Maseeh College of Science and Engineering Portland State University Portland, OR. My Background. 1994-1999: BS in Industrial and Systems Engineering from Georgia Tech
E N D
Ten Things I Like about CS Graduate Research(and Five I Don’t) Bill Howe Phd Student Maseeh College of Science and Engineering Portland State University Portland, OR
My Background • 1994-1999: BS in Industrial and Systems Engineering from Georgia Tech • 1999-2001: Worked as a consultant on projects for • Excel Telecommunications • Verizon Wireless • Siebel Systems • Microsoft • 2001-present: working on a Phd in Computer Science…
Outline • Graduate Research in CS: The Good • Graduate Research in CS: The Bad • Overview of my research on data management tools for Computational Science
Graduate Degrees • CS Bachelor’s degree of Science (BS) • Programming • CS Master’s degree of Science (MS) • Advanced Programming • CS Doctor of Philosophy (Phd) • Research, Teaching
me The Next 10 Years Sources: Starting salaries: 2004, U.S. Department of Labor, www.bls.org Average raise: Software Developer Magazine 2004 Salary Survey, assumes 2003-2004 Also: Harder to outsource MSs, Phds harder still
A Question • Why do you study Computer Science?
Claim: All Science is Becoming Computer Science • Biology • Ensembl, GenBank, HGP, SwissProt • Folding@Home • Bioinformatics • Astronomy • Sloan Digital Sky Survey, SETI • Oceanography • Environmental Observation and Forecasting • First comes X, then “Computational X” • Modern scientists are programmers!
Claim: Everything else is also Computer Science (1/2) • Medicine • Medical Informatics, MRI Nobel Prize • Journalism, Broadcasting • Blogs, Podcasts, BitTorrent • Commerce, Advertising • eBay, iTunes, Amazon, AdWords,Overture, Google • Communication • email, IM, VoIP • Research, Publishing • Search Engines, Wikipedia, RSS, BioMed, Citeseer
Claim: Everything else is also Computer Science (2/2) • Economics • eBay, Everquest, World of Warcraft • Entertainment • MP3, DVD, iTunes, GarageBand, P2P, • Pixar, LoTR, Star Wars, Gaming • Social • friendster, MySpace, eHarmony, Match.com • Busy Work • Mechanical Turk
Travel • Write papers, submit them to conferences in exotic locales, and get the trip paid for! • Even with my stunted income, I’ve visited • Chicago (GGF 2001) • Paris (SIGMOD 2003) • Toronto (VLDB 2004) • Santa Barbara (SSDBM 2005) • Tokyo (ICDE 2005) • ICDE 2006 is here in Atlanta April 2-7
Laziness is a Virtue • If it's boring, make the computer do it • Office: Filing, Sorting, Accounting, Reporting • Factory: Assembly, Warehousing • Science and Mathematics: Prime numbers, Calculation • Housework? Flying? Driving? • Low-hanging fruit • We do 80% of the job with 20% of the effort • Programmers do this for their company/customers • CS Researchers try and do this for everybody
Get Paid to Think • My time involves equal parts • Reading • Writing • Coding • Staring into space • Plus • Conversing with colleagues • Preparing and giving talks • Administrative tasks
Focus > Brains • Edison • “Genius is 1% inspiration and 99% perspiration” • Pasteur • “Let me tell you the secret that has led me to my goal. My strength lies solely in my tenacity.” • “Chance favors the prepared mind” • Focus is not easy • It’s easy to drift through the day as a Phd student and accomplish very little • No one forces you to be productive – which is a bad thing!
Abundant Help • Every professor • has gone through graduate school • is willing to giving advice • is expected to give advice • is generally good at giving advice • At Portland State, for example, this means • 130 paid experts to advise you • plus 250 other students who may also have insight • Corporate “open door” policies do not quite compare
Fewer Jerks • Perhaps surprisingly, scientists tend to be open-minded • It’s ok to argue with the boss • But you must reciprocate! • Bosses (and customers) are not frequently known for open-mindedness
“Must Have Strong Communication Skills” • You'll do enough writing and public speaking that you'll be an expert • All employers require these skills • Ironically, few employers give you the opportunity to learn them
Autonomy • Working from home • Setting your own schedule • Setting your own research agenda • Scheduling your own meetings …anyone see a downside?
“Free” Training • Take classes in a variety of CS areas • Remember: Everything is Computer Science • I took Environmental Engineering courses for my research • How about Art? Music? Language? • “Order in Pollock’s Chaos”, Richard P. Taylor, Scientific American, December 2002 • Lilypond • "Chinese Character Synthesis Using Metapost", Candy YIU L.K. and Wai WONG, TeX Users Group, July 2003 • Self-study with Languages and Tools • I learned Haskell, C++, Python, Javascript, and countless other tools while in Graduate School
Outline • Graduate Research in CS: The Good • Graduate Research in CS: The Bad • Research Overview
Begging for Money • Funding comes primarily from gov. agencies • NSF, NIH, NASA, DARPA, DOE • Scientists write proposals to convince non-experts that their future research will be productive • Anything sound strange about this? • Funding not necessarily commensurate with the quality of the proposal • As a student, you are largely shielded from this process
Innovation not always rewarded • Best advice for writing papers and giving talks: • People like what they understand • But: • People understand best that which they already know! • Encourages incremental improvements rather than transformative ideas • Lots of papers on searching the web slightly faster, • Fewer papers on, e.g., self-driving cars or other really useful things
Intense Competition from Industry • Everyone can potentially do “CS Research” • We don’t need particle accelerators • Commercialization is easier (witness Google) • Databases • MySQL, PostgreSQL, Oracle, Microsoft, IBM • Amateurs are empowered as well • Open-source, Mash-ups
Difficult to Make an Impact • Pressure to innovate means you won't always have time to follow through on ideas • Prototypes and experiments are common • Polished, deployable systems less so
Difficult to Distinguish Good Research from Bad Research • There is no simple objective criteria • sales figures? website hits? number of downloads? • Perhaps # of citations, but this number is zero for a lot of good work • There is a lot of mediocre work • Lesson I had to learn: If a paper doesn’t seem to make sense, it may not just be you
Summary • I like it! • Consider it! • Ambiguity is a Good Thing
Outline • Graduate Research in CS: The Good • Graduate Research in CS: The Bad • Overview of my research supporting Computational Science
1994 Northridge aftershock, San Fernando valley http://www.cs.cmu.edu/~quake/quakeviz.html Animations created by Greg Foss, Pittsburgh Supercomputing Center and CMU Quake project, from synthetic data generated by the CMU Quake project
16.3 16.1 17.9 13.7 1.4 16.2 13.7 2.3 1.9 12.5 11.4 2.1 14.2 13.5 14.0 15.4 15.1 15.7 “GridFields” [0.0, 1.0) [1.0, 2.0) [2.0, 3.0) [3.0, 4.0) [4.0, 5.0) [5.0, 6.0)
25 19 24 21 27 26 retrieve attribute data by (grid, attr. name, context) retrieve grid data by (grid name, context) Catalog Interface Storage Subsystem … GridField Operators (1) gridfield, no data gridfield, bound data Bind Scan
25 19 24 Restrict(>23) 21 27 26 25 24 27 26 GridField Operators (2)
= Cross Product (1) =
30 y 3 4 y0 x0 40 A x 20 A0 yw z xw z0 3w 2 2w 4w 31 x1 y1 zw 0 A1 = w 41 21 z1 1 Aw Cross Product (2)
Describing Fancy Grids (a) (b) (c) (d) (e) (a) H0:(x) (c) H0:() bind(0,x,y) V0:(y) V0:() (b) bind(0,x) H0:() (d) H0:() bind(0,x,y) bind(1,f) bind(0,y) V0:() V0:()
Idea: Separate Data Manipulation from Data Visualization Our work Locating, Cutting, Slicing, Aggregating, Combining Client Machine GridField Expressions Visualization Cluster of Servers GridField Expressions Isosurfaces, Streamlines, Contours, Colors, Animation, Volume Rendering … push processing upstream
Objectives • Model generalized gridded datasets • Optimize computations over gridded datasets • Demo available after the talk
Demo: Architecture Thick arrows are data, thin arrows are messages Web Service Client Parse and Optimize XMLRPC Message Data Repository Server Cache Client App Evaluate Client Cache XMLRPC Response Respond
What do we use to hold these data? Lists? Arrays? Relations? Relations?
Analyzing the Results: Data Products Data Products
Computational Science 1. Governing Equations 2. Discretize the Domain 3. Convert Differential Equations into Algebraic Equations 4. Solve the Algebraic Equations 5. Analyze the Results
Graduate Degrees • CS Bachelor’s degree of Science (BS) • year 1-2: Tester: Regression testing, write unit tests • year 3-6: Programmer: Program to spec • year 6+: Architect: Design, Code, Manage, Plan, Sell • CS Master’s degree of Science (MS) • 2 additional years in school • year 1-2: Programmer • year 2+: Architect, Manager, etc. • CS Doctor of Philosophy (Phd) • 4-9 additional years in school • year 1-2: Postdoc, • year 2+: University Faculty, Research Scientist OR Architect, Manager, etc.
Getting a Phd is like Being all 7 Dwarves • At first you feel Dopey and Bashful • In the middle, you’re Sleepy, Sneezy, and Grumpy • At the end, they call you Doc, and you’re Happy
The Next 10 Years CS Bachelor’s Degree (BS) Tester Programmer Software Architect Manager CS Master’s Degree (MS) Software Architect Student Programmer Manager Univ. Faculty CS Doctoral Degree (Phd) Research Sci. Student Research Assistant Post Doc Architect Manager 9 10 0 1 2 3 4 5 6 7 8 year Usually earn a Master’s degree along the way
The Next 10 Years Sources: Starting salaries: NACE, 2004, Average raise: NACE 2003-2004 Also: Harder to outsource MSs, Phds harder still