SlideShare une entreprise Scribd logo
1  sur  99
Télécharger pour lire hors ligne
CodeforScience Andrew Lenards June 24, 2010
slideshare.net/lenards
Andrew Lenards iPlant Collaborative on Core S/W team University of Arizona CS Grad, 2001 Experienced developer, former consultant,  instructor, & technical trainer Domain experience: Motor Vehicle Domain Phylogenetics / Bioinformatics (sort of)
Andrew Lenards - Activities Learning about: Requirements, User Stories, etc.  S/W Design/Architecture, Patterns, SOA Molecular Biology, Phylogenetics, Phyloinformatics, Genetics, and Genomics Active in: Tucson Java Users Group Semi-active in: Tucson Startup Drinks Ubuntu Arizona Local Community / TFUG
Hybrid Vigor
Computational ___________
Computational _Thinking_
Computational _Biology_
Computational _Gardening_
Computational _Gardening_
Bio________
Biofuels
Biochemistry
Biophysics
Bioinformatics
…
What do you expectwhen you graduate?
… for the computer sciencemajors
Myth of the Lone Developer
in-practice: lots of interaction w/ technical&non-technical people
Take Away: Communication is amajor challenge
What might help?
Software projects fail.
… quite often
Why?
Adaption
Adaption & Quality lead to success
Quality ResearchrequiresQuality Software
“good enough”Softwarecan help produceQuality Research
Starts with understanding purpose…
… and leadsto testing
"Testing is the engineering rigor of software development." -- Neal Ford
Testing affects your design
Flexible design grows out of making code“testable”
Take Away: testing brings abouthigher quality
Code for Science
I wasn’t always interested in science/biology
Biology is aninteresting domain
I know too much aboutAuto titling & internationaltrucking fees
Conclusion: Act I
Miscellaneous Info Contact Info lenards@iplantcollaborative.org lenards@email.arizona.edu Slides Will be posted here: http://www.slideshare.net/lenards
… of the community,     by the community,    for the community
Empowering the next generation of biologist
Why?
The world faces tough problems in the future
Fuel/Energy
Food
Water Supply
…
Cyberinfrastructure
“In scientific usage, cyberinfrastructure is a technological solution to the problem of efficiently connecting data, computers, and people with the goal of enabling derivation of novel scientific theories and knowledge.”
Large systems designleads to diverse,interdisciplinary teams
With the direction of Computational Biology & Bioinformatics…
Software Development as aCollaborative Game
Soft skills are important
Speaking in tongues is not allowed
Working in pairs, not just forpair-programming ordebugging
Impromptu design discussions  (they often include more than just technical folks)
Conclusion: Act II
Small team
Varying backgrounds
(brilliant co-workers)
Diverse skill-sets
What’d I get out of it?
“Lone” Developer, Meet your team:- PastYou-FutureMe
Systems grow & change in organic ways (related topic: Entropy)
Learned importance of unit testing
“Safety net for refactoring”
Ruthless refactoringw/ extreme confidence
Automation keepsyou & your team honest (Continuous Integration)
Broken Window Theory (Pragmatic Programmer)
Need an infectious attitude towardtesting…
Robust software is well-tested software
Good day for QA ==Bad day for Dev
Image Acknowledgements “Mad Scientist Photo” of Andrew by Alex Yelich http://www.flickr.com/photos/sskennel/4496534369/ http://upload.wikimedia.org/wikipedia/commons/3/32/Charles_Darwin_by_Elliott_and_Fry.jpg http://en.wikipedia.org/wiki/File:Koeh-283.jpg http://jitterypenguin.com/images01/SWG%20Screenshots/Zoee/Master%20Commando%20Skill%20Tree.jpg http://www.flickr.com/photos/tonivc/2283676770/ http://www.flickr.com/photos/lorelei-ranveig/2294093649/ http://www.flickr.com/photos/thatgrumguy/402041540/ http://www.flickr.com/photos/freya_gefn/2777209147/ http://www.flickr.com/photos/pkmousie/2652404430/ http://www.flickr.com/photos/sklathill/479528238/ http://commons.wikimedia.org/wiki/File:Babel_fish_badge.jpg http://www.flickr.com/photos/lorelei-ranveig/2294093649/ http://www.flickr.com/photos/roadsidepictures/389828793/ http://www.teachforamerica.org/assets/images/img/logo_tfa.gif “Take Away” font: http://www.dafont.com/mailart-rubberstamp.font
The content of this work is licensed under a Creative Commons   Attribution-NonCommercial-ShareAlike License.  Your use of this material constitutes acceptance of that license and the conditions of use of materials on this site:  http://creativecommons.org/licenses/by-nc-sa/3.0/

Contenu connexe

Tendances

Visualization for Software Analytics
Visualization for Software AnalyticsVisualization for Software Analytics
Visualization for Software AnalyticsMargaret-Anne Storey
 
Expert System in Artificial Intelligence
Expert System in Artificial IntelligenceExpert System in Artificial Intelligence
Expert System in Artificial IntelligenceChaudhry Abdullah
 
Neuro Cognitive Platform
Neuro Cognitive PlatformNeuro Cognitive Platform
Neuro Cognitive PlatformEdgar Grant
 
Extending and integrating a hybrid knowledge representation system into the c...
Extending and integrating a hybrid knowledge representation system into the c...Extending and integrating a hybrid knowledge representation system into the c...
Extending and integrating a hybrid knowledge representation system into the c...Valentina Rho
 
Knowledge Engineering
Knowledge EngineeringKnowledge Engineering
Knowledge EngineeringMegha Sharma
 
Artificial Intelligence
Artificial IntelligenceArtificial Intelligence
Artificial IntelligenceMegha Sharma
 
International Journal of Computer Science, Engineering and Information Techn...
International Journal of Computer Science, Engineering and  Information Techn...International Journal of Computer Science, Engineering and  Information Techn...
International Journal of Computer Science, Engineering and Information Techn...ijcseit
 
Open source hardware for academic projects
Open source hardware for academic projectsOpen source hardware for academic projects
Open source hardware for academic projectsAung Ko Ko Thet
 
JobApplicationResume2016
JobApplicationResume2016JobApplicationResume2016
JobApplicationResume2016Amey Parulkar
 
helbredte
helbredtehelbredte
helbredtebutest
 
dorCV.doc
dorCV.docdorCV.doc
dorCV.docbutest
 
Artificial intelligence in cyber defense
Artificial intelligence in cyber defenseArtificial intelligence in cyber defense
Artificial intelligence in cyber defenseUjjwal Tripathi
 

Tendances (18)

Visualization for Software Analytics
Visualization for Software AnalyticsVisualization for Software Analytics
Visualization for Software Analytics
 
Expert System in Artificial Intelligence
Expert System in Artificial IntelligenceExpert System in Artificial Intelligence
Expert System in Artificial Intelligence
 
Neuro Cognitive Platform
Neuro Cognitive PlatformNeuro Cognitive Platform
Neuro Cognitive Platform
 
Extending and integrating a hybrid knowledge representation system into the c...
Extending and integrating a hybrid knowledge representation system into the c...Extending and integrating a hybrid knowledge representation system into the c...
Extending and integrating a hybrid knowledge representation system into the c...
 
Knowledge Engineering
Knowledge EngineeringKnowledge Engineering
Knowledge Engineering
 
Artificial Intelligence
Artificial IntelligenceArtificial Intelligence
Artificial Intelligence
 
Expert System
Expert SystemExpert System
Expert System
 
AI - Issues and Terminology
AI - Issues and TerminologyAI - Issues and Terminology
AI - Issues and Terminology
 
Introduction to artificial intelligence
Introduction to artificial intelligenceIntroduction to artificial intelligence
Introduction to artificial intelligence
 
International Journal of Computer Science, Engineering and Information Techn...
International Journal of Computer Science, Engineering and  Information Techn...International Journal of Computer Science, Engineering and  Information Techn...
International Journal of Computer Science, Engineering and Information Techn...
 
Expert System
Expert SystemExpert System
Expert System
 
Open source hardware for academic projects
Open source hardware for academic projectsOpen source hardware for academic projects
Open source hardware for academic projects
 
JobApplicationResume2016
JobApplicationResume2016JobApplicationResume2016
JobApplicationResume2016
 
Lopez
LopezLopez
Lopez
 
VC
VCVC
VC
 
helbredte
helbredtehelbredte
helbredte
 
dorCV.doc
dorCV.docdorCV.doc
dorCV.doc
 
Artificial intelligence in cyber defense
Artificial intelligence in cyber defenseArtificial intelligence in cyber defense
Artificial intelligence in cyber defense
 

Similaire à Code for science (rev 1)

Code for science (rev 2)
Code for science (rev 2)Code for science (rev 2)
Code for science (rev 2)Andy Lenards
 
PROMISE 2011: Seven Habits of High Impactful Empirical Software Engineers (La...
PROMISE 2011: Seven Habits of High Impactful Empirical Software Engineers (La...PROMISE 2011: Seven Habits of High Impactful Empirical Software Engineers (La...
PROMISE 2011: Seven Habits of High Impactful Empirical Software Engineers (La...CS, NcState
 
How ChatGPT and AI-assisted coding changes software engineering profoundly
How ChatGPT and AI-assisted coding changes software engineering profoundlyHow ChatGPT and AI-assisted coding changes software engineering profoundly
How ChatGPT and AI-assisted coding changes software engineering profoundlyPekka Abrahamsson / Tampere University
 
SBQS 2013 Keynote: Cooperative Testing and Analysis
SBQS 2013 Keynote: Cooperative Testing and AnalysisSBQS 2013 Keynote: Cooperative Testing and Analysis
SBQS 2013 Keynote: Cooperative Testing and AnalysisTao Xie
 
20240104 HICSS Panel on AI and Legal Ethical 20240103 v7.pptx
20240104 HICSS  Panel on AI and Legal Ethical 20240103 v7.pptx20240104 HICSS  Panel on AI and Legal Ethical 20240103 v7.pptx
20240104 HICSS Panel on AI and Legal Ethical 20240103 v7.pptxISSIP
 
AI for a Smaller Smarter Military SDADTC December 17 2013
AI for a Smaller Smarter Military SDADTC December 17 2013AI for a Smaller Smarter Military SDADTC December 17 2013
AI for a Smaller Smarter Military SDADTC December 17 2013Boulder Equity Analytics
 
Big Data: the weakest link
Big Data: the weakest linkBig Data: the weakest link
Big Data: the weakest linkCS, NcState
 
Analyzing Big Data's Weakest Link (hint: it might be you)
Analyzing Big Data's Weakest Link  (hint: it might be you)Analyzing Big Data's Weakest Link  (hint: it might be you)
Analyzing Big Data's Weakest Link (hint: it might be you)HPCC Systems
 
Ijcai nyc ai summit 20140224 v1
Ijcai nyc ai summit 20140224 v1Ijcai nyc ai summit 20140224 v1
Ijcai nyc ai summit 20140224 v1ISSIP
 
Ed Fox on Learning Technologies
Ed Fox on Learning TechnologiesEd Fox on Learning Technologies
Ed Fox on Learning TechnologiesGardner Campbell
 
Kentaro 2009 02 11 CooperacióN Toyama
Kentaro 2009 02 11 CooperacióN   ToyamaKentaro 2009 02 11 CooperacióN   Toyama
Kentaro 2009 02 11 CooperacióN ToyamaCOOPERACION 2.0 2009
 
Mindtrek 2015 - Tampere Finland
Mindtrek 2015 - Tampere Finland Mindtrek 2015 - Tampere Finland
Mindtrek 2015 - Tampere Finland Panos Fitsilis
 
ITK Tutorial Presentation Slides-943
ITK Tutorial Presentation Slides-943ITK Tutorial Presentation Slides-943
ITK Tutorial Presentation Slides-943Kitware Kitware
 
NATO Workshop on Pre-Detection of Lone Wolf Terrorists of the Future
NATO Workshop on Pre-Detection of Lone Wolf Terrorists of the FutureNATO Workshop on Pre-Detection of Lone Wolf Terrorists of the Future
NATO Workshop on Pre-Detection of Lone Wolf Terrorists of the FutureJerome Glenn
 
Career guidance talk it makaut_ppt_sabyasachi mukhopadhyay
Career guidance talk it makaut_ppt_sabyasachi mukhopadhyayCareer guidance talk it makaut_ppt_sabyasachi mukhopadhyay
Career guidance talk it makaut_ppt_sabyasachi mukhopadhyaySabyasachi Mukhopadhyay
 
Design considerations for machine learning system
Design considerations for machine learning systemDesign considerations for machine learning system
Design considerations for machine learning systemAkemi Tazaki
 
Personal Note On Software Engineering
Personal Note On Software EngineeringPersonal Note On Software Engineering
Personal Note On Software EngineeringHeidi Maestas
 
Why Computer Science.pptx
Why Computer Science.pptxWhy Computer Science.pptx
Why Computer Science.pptxslidecell212100
 

Similaire à Code for science (rev 1) (20)

Code for science (rev 2)
Code for science (rev 2)Code for science (rev 2)
Code for science (rev 2)
 
PROMISE 2011: Seven Habits of High Impactful Empirical Software Engineers (La...
PROMISE 2011: Seven Habits of High Impactful Empirical Software Engineers (La...PROMISE 2011: Seven Habits of High Impactful Empirical Software Engineers (La...
PROMISE 2011: Seven Habits of High Impactful Empirical Software Engineers (La...
 
How ChatGPT and AI-assisted coding changes software engineering profoundly
How ChatGPT and AI-assisted coding changes software engineering profoundlyHow ChatGPT and AI-assisted coding changes software engineering profoundly
How ChatGPT and AI-assisted coding changes software engineering profoundly
 
SBQS 2013 Keynote: Cooperative Testing and Analysis
SBQS 2013 Keynote: Cooperative Testing and AnalysisSBQS 2013 Keynote: Cooperative Testing and Analysis
SBQS 2013 Keynote: Cooperative Testing and Analysis
 
20240104 HICSS Panel on AI and Legal Ethical 20240103 v7.pptx
20240104 HICSS  Panel on AI and Legal Ethical 20240103 v7.pptx20240104 HICSS  Panel on AI and Legal Ethical 20240103 v7.pptx
20240104 HICSS Panel on AI and Legal Ethical 20240103 v7.pptx
 
AI for a Smaller Smarter Military SDADTC December 17 2013
AI for a Smaller Smarter Military SDADTC December 17 2013AI for a Smaller Smarter Military SDADTC December 17 2013
AI for a Smaller Smarter Military SDADTC December 17 2013
 
Big Data: the weakest link
Big Data: the weakest linkBig Data: the weakest link
Big Data: the weakest link
 
Analyzing Big Data's Weakest Link (hint: it might be you)
Analyzing Big Data's Weakest Link  (hint: it might be you)Analyzing Big Data's Weakest Link  (hint: it might be you)
Analyzing Big Data's Weakest Link (hint: it might be you)
 
Ijcai nyc ai summit 20140224 v1
Ijcai nyc ai summit 20140224 v1Ijcai nyc ai summit 20140224 v1
Ijcai nyc ai summit 20140224 v1
 
Ed Fox on Learning Technologies
Ed Fox on Learning TechnologiesEd Fox on Learning Technologies
Ed Fox on Learning Technologies
 
Kentaro 2009 02 11 CooperacióN Toyama
Kentaro 2009 02 11 CooperacióN   ToyamaKentaro 2009 02 11 CooperacióN   Toyama
Kentaro 2009 02 11 CooperacióN Toyama
 
Mastering Software Variability for Innovation and Science
Mastering Software Variability for Innovation and ScienceMastering Software Variability for Innovation and Science
Mastering Software Variability for Innovation and Science
 
Mindtrek 2015 - Tampere Finland
Mindtrek 2015 - Tampere Finland Mindtrek 2015 - Tampere Finland
Mindtrek 2015 - Tampere Finland
 
Ai in Higher Education
Ai in Higher EducationAi in Higher Education
Ai in Higher Education
 
ITK Tutorial Presentation Slides-943
ITK Tutorial Presentation Slides-943ITK Tutorial Presentation Slides-943
ITK Tutorial Presentation Slides-943
 
NATO Workshop on Pre-Detection of Lone Wolf Terrorists of the Future
NATO Workshop on Pre-Detection of Lone Wolf Terrorists of the FutureNATO Workshop on Pre-Detection of Lone Wolf Terrorists of the Future
NATO Workshop on Pre-Detection of Lone Wolf Terrorists of the Future
 
Career guidance talk it makaut_ppt_sabyasachi mukhopadhyay
Career guidance talk it makaut_ppt_sabyasachi mukhopadhyayCareer guidance talk it makaut_ppt_sabyasachi mukhopadhyay
Career guidance talk it makaut_ppt_sabyasachi mukhopadhyay
 
Design considerations for machine learning system
Design considerations for machine learning systemDesign considerations for machine learning system
Design considerations for machine learning system
 
Personal Note On Software Engineering
Personal Note On Software EngineeringPersonal Note On Software Engineering
Personal Note On Software Engineering
 
Why Computer Science.pptx
Why Computer Science.pptxWhy Computer Science.pptx
Why Computer Science.pptx
 

Plus de Andy Lenards

Rough has advantages
Rough has advantagesRough has advantages
Rough has advantagesAndy Lenards
 
The Skill That Can Impact All Skills
The Skill That Can Impact All SkillsThe Skill That Can Impact All Skills
The Skill That Can Impact All SkillsAndy Lenards
 
Software Surrounds You
Software Surrounds YouSoftware Surrounds You
Software Surrounds YouAndy Lenards
 
Loosely Coupled Thoughts
Loosely  Coupled  ThoughtsLoosely  Coupled  Thoughts
Loosely Coupled ThoughtsAndy Lenards
 
Is There Room For Another Elephant In Tucson
Is There Room For Another Elephant In TucsonIs There Room For Another Elephant In Tucson
Is There Room For Another Elephant In TucsonAndy Lenards
 

Plus de Andy Lenards (6)

Rough has advantages
Rough has advantagesRough has advantages
Rough has advantages
 
The Skill That Can Impact All Skills
The Skill That Can Impact All SkillsThe Skill That Can Impact All Skills
The Skill That Can Impact All Skills
 
Software Surrounds You
Software Surrounds YouSoftware Surrounds You
Software Surrounds You
 
Android
Android Android
Android
 
Loosely Coupled Thoughts
Loosely  Coupled  ThoughtsLoosely  Coupled  Thoughts
Loosely Coupled Thoughts
 
Is There Room For Another Elephant In Tucson
Is There Room For Another Elephant In TucsonIs There Room For Another Elephant In Tucson
Is There Room For Another Elephant In Tucson
 

Code for science (rev 1)

Notes de l'éditeur

  1. Originally prepared for UBRP group session - http://ubrp.arizona.edu/
  2. Successful combinations
  3. When people hear “hybrid” they usually think of cars, and likely the ToyotaPrius.http://www.flickr.com/photos/sskennel/4496534369/
  4. Darwin studied hybrid vigorhttp://upload.wikimedia.org/wikipedia/commons/3/32/Charles_Darwin_by_Elliott_and_Fry.jpg
  5. Major of corn grown worldwide is from hybridshttp://en.wikipedia.org/wiki/File:Koeh-283.jpg
  6. It seems like computer science and computational thinking are creating plenty of hybrid disciplines now
  7. Okay – that was a bogus one. Computational Gardening is a horrible idea.
  8. But computational approaches are not only ones creating new disciplines. Biology is have a major impact.
  9. And the list goes on…. And on.
  10. Games usually have some limiting factor so that user-controlled characters cannot specialize in everything. This is an example from Star Wars Galaxies and how they controlled user characters by imposing a skill tree.http://jitterypenguin.com/images01/SWG%20Screenshots/Zoee/Master%20Commando%20Skill%20Tree.jpg
  11. http://www.flickr.com/photos/tonivc/2283676770/
  12. No one person can be a master of all the skills needed to produce large, scalable systems to support biology, bioinformatics, or computational biology
  13. If you’re dealing with non-technical, technical folks who are not familiar with your expertise then how do expect to be successful communicating?
  14. Beyond patience and plain, approachable explanation – maybe a technical savvy implementation of the Babel fishhttp://commons.wikimedia.org/wiki/File:Babel_fish_badge.jpg
  15. Why do many software project fail? Communication and misunderstandings.
  16. Why do many software project fail? Communication and misunderstandings.
  17. Why do many software project fail? Communication and misunderstandings.
  18. Okay, I’ll admit that the software doesn’t have to be robust software to produce quality research. But with more projects consuming tools and applications originally by other groups, so quality, robust software will make a larger contribution.
  19. “In scientific usage, cyberinfrastructure is a technological solution to the problem of efficiently connecting data, computers, and people with the goal of enabling derivation of novel scientific theories and knowledge.” src: http://en.wikipedia.org/wiki/Cyberinfrastructure
  20. “In scientific usage, cyberinfrastructure is a technological solution to the problem of efficiently connecting data, computers, and people with the goal of enabling derivation of novel scientific theories and knowledge.” src: http://en.wikipedia.org/wiki/Cyberinfrastructure
  21. “In scientific usage, cyberinfrastructure is a technological solution to the problem of efficiently connecting data, computers, and people with the goal of enabling derivation of novel scientific theories and knowledge.” src: http://en.wikipedia.org/wiki/Cyberinfrastructure
  22. “In scientific usage, cyberinfrastructure is a technological solution to the problem of efficiently connecting data, computers, and people with the goal of enabling derivation of novel scientific theories and knowledge.” src: http://en.wikipedia.org/wiki/Cyberinfrastructure
  23. “In scientific usage, cyberinfrastructure is a technological solution to the problem of efficiently connecting data, computers, and people with the goal of enabling derivation of novel scientific theories and knowledge.” src: http://en.wikipedia.org/wiki/Cyberinfrastructure
  24. “In scientific usage, cyberinfrastructure is a technological solution to the problem of efficiently connecting data, computers, and people with the goal of enabling derivation of novel scientific theories and knowledge.” src: http://en.wikipedia.org/wiki/Cyberinfrastructure
  25. “In scientific usage, cyberinfrastructure is a technological solution to the problem of efficiently connecting data, computers, and people with the goal of enabling derivation of novel scientific theories and knowledge.” src: http://en.wikipedia.org/wiki/Cyberinfrastructure
  26. “In scientific usage, cyberinfrastructure is a technological solution to the problem of efficiently connecting data, computers, and people with the goal of enabling derivation of novel scientific theories and knowledge.” src: http://en.wikipedia.org/wiki/Cyberinfrastructure
  27. “In scientific usage, cyberinfrastructure is a technological solution to the problem of efficiently connecting data, computers, and people with the goal of enabling derivation of novel scientific theories and knowledge.” src: http://en.wikipedia.org/wiki/Cyberinfrastructure
  28. “In scientific usage, cyberinfrastructure is a technological solution to the problem of efficiently connecting data, computers, and people with the goal of enabling derivation of novel scientific theories and knowledge.” src: http://en.wikipedia.org/wiki/Cyberinfrastructure
  29. Small team, communication was extremely important
  30. Small team, communication was extremely important
  31. Small team, communication was extremely important
  32. Small team, communication was extremely important
  33. Small team, communication was extremely important
  34. Unit testing helps prevent too much “good days” for QA! Jerry Schneider on the Core Software team says this all the time.