SlideShare a Scribd company logo
BOSC Vienna, Austria July 20, 2007 Kam D. Dahlquist Department of Biology John David N. Dionisio Department of Electrical Engineering & Computer Science Loyola Marymount University An Open Source Framework for Teaching Bioinformatics
Outline Motivation Open source culture Implementation --Computer science curriculum --Bioinformatics course
Scientific Computing and the Digital Divide Wilson GV (2006)  Where’s the real bottleneck in scientific computing?  American Scientist  94:5–6. Scientists who come to computer science after being trained in a different primary discipline often have to rediscover, relearn, or keep up with work in the computer science and software development realms in order to get the most out of their work. This causses unecessary and unknowing repetitions of past discoveries and errors. Tools or paradigms that are out-of-date in computer science and software engineering remain in place. At worst, software flaws slow or impede research. Baxter SM, Day SW, Fetrow JS, and Reisinger SJ (2006)  Scientific software development is not an oxymoron.  PLoS Computational Biology  2:e87.
The Disconnect Between Undergraduate Computer Science Training and Expectations and Skill Sets Required for Industry and Research Undergraduate Training Industry Expectation Work alone Work in a team “ Toy” programs and algorithms Large, modular project Throwaway code Code longevity (for better or worse)
inroads – The SIGCSE Bulletin, Volume 39, Number 2, 2007 June, pp. 70-74 http://recourse.cs.lmu.edu/
Official Open Source Definition (version 1.9) Free redistribution Source code Derived works Integrity of the author’s source code No discrimination against persons or groups No discrimination against fields of endeavor Distribution of license License must not be specific to a product License must not restrict other software License must be technology-neutral
Open Source Values Source code is available, modifiable, and long-lived Accountability implies community --explicit “paper trail” for how a particular program   changes over time --communication and answerability Responsibilities accompany rights --explicit consideration of the license --giving credit where it is due --appropriate access to software, documentation, and   communities --acknowledging security, privacy, legal issues
Open Source Teaching Framework Source Code: All code resides in a centralized, public repository As much as possible, everyone’s code is visible to everyone else for code review or team fixing No code is thrown away, it remains available to future “ generations”
Open Source Teaching Framework Source Code: All code resides in a centralized, public repository As much as possible, everyone’s code is visible to everyone else for code review or team fixing No code is thrown away, it remains available to future “ generations” Quality & Community: Documentation, inline and online Automated tests Constructive code review, beyond “does it work?” Long-term projects release early, release often Form collaborative communities among faculty, students, classes, and projects
Progression through Computer Science Curriculum Sample code bazaar --the creation and maintenance of live, organized, searchable,   student accessible sample code libraries --students check out, modify, and check in code Test infection (Erich Gamma) --test suite vs. implementation matrix Life cycle of code --as juniors and seniors, students revisit code written the first   year --direct experience with need for documentation Release early, release often --applies to both students and faculty
“ CourseForge” A Hardware + Software Infrastructure for Supporting the Teaching Framework Certain teaching elements are impractical without some degree of automation Support platform for management of student work --revision control --test frameworks --communication --issue tracking Derived from open source software, delivered as open source software — the system will interoperate with existing open source tools
CMSI 698: Special Studies in Bioinformatics Team-taught by a biologist and a computer scientist
CMSI 698: Special Studies in Bioinformatics Team-taught by a biologist and a computer scientist Enrollment in Spring 2006: -- eight students from Master’s degree   program in Computer Science  -- several coming from aerospace industry -- none with more than college-level introductory biology
CMSI 698: Special Studies in Bioinformatics Team-taught by a biologist and a computer scientist Enrollment in Spring 2006: -- eight students from Master’s degree   program in Computer Science  -- several coming from aerospace industry -- none with more than college-level introductory biology Project-based class began development of XMLPipeDB
CMSI 698: Special Studies in Bioinformatics Team-taught by a biologist and a computer scientist Enrollment in Spring 2006: -- eight students from Master’s degree   program in Computer Science  -- several coming from aerospace industry -- none with more than college-level introductory biology Project-based class began development of XMLPipeDB XMLPipeDB development continued by four students  in summer session course entitled Open Source Software Development Workshop
CMSI 698: Special Studies in Bioinformatics Team-taught by a biologist and a computer scientist Enrollment in Spring 2006: -- eight students from Master’s degree   program in Computer Science  -- several coming from aerospace industry -- none with more than college-level introductory biology Project-based class began development of XMLPipeDB --authentic bioinformatics problem to solve XMLPipeDB development continued by four students  in summer session course entitled Open Source Software Development Workshop One student continued development for Master’s thesis
XMLPipeDB Project Management: Lessons Learned Students on the project had varying levels of maturity, knowledge, and skill coming into the project -- some naturally took on a leadership role -- some hung back or did the minimum required to get by
XMLPipeDB Project Management: Lessons Learned Students on the project had varying levels of maturity, knowledge, and skill coming into the project -- some naturally took on a leadership role -- some hung back or did the minimum required to get by Needed to increase communication and sense of team -- students preferred to interact with faculty for questions,   rather than each other -- bug trackers and developer’s forum used only sporadically -- implemented weekly reports on Wiki to increase accountability
XMLPipeDB Project Management: Lessons Learned Students on the project had varying levels of maturity, knowledge, and skill coming into the project -- some naturally took on a leadership role -- some hung back or did the minimum required to get by Needed to increase communication and sense of team -- students preferred to interact with faculty for questions,   rather than each other -- bug trackers and developer’s forum used only sporadically -- implemented weekly reports on Wiki to increase accountability [SourceForge servers were frequently down during class]
XMLPipeDB Project Management: Lessons Learned Students on the project had varying levels of maturity, knowledge, and skill coming into the project -- some naturally took on a leadership role -- some hung back or did the minimum required to get by Needed to increase communication and sense of team -- students preferred to interact with faculty for questions,   rather than each other -- bug trackers and developer’s forum used only sporadically -- implemented weekly reports on Wiki to increase accountability [SourceForge servers were frequently down during class] 6 months from conception to product
XMLPipeDB Project Management: Lessons Learned Students on the project had varying levels of maturity, knowledge, and skill coming into the project -- some naturally took on a leadership role -- some hung back or did the minimum required to get by Needed to increase communication and sense of team -- students preferred to interact with faculty for questions,   rather than each other -- bug trackers and developer’s forum used only sporadically -- implemented weekly reports on Wiki to increase accountability [SourceForge servers were frequently down during class] 6 months from conception to product Even the weakest student contributed useable code
Take-home Messages Catch them early Making open source values and software development best practices explicit will produce better software and better computer scientists
XSD-to-DB Adam Carasso Jeffrey Nicholas Scott Spicer XMLPipeDBUtils David Hoffman Babak Naffas Jeffrey Nicholas Ryan Nakamoto UniProtDB Joe Boyle Joey Barrett GODB Scott Spicer Roberto Ruiz GenMAPP Builder Joey Barrett Jeffrey Nicholas Scott Spicer Special Thanks GenMAPP.org Development Group Caskey L. Dickson, Wesley T. Citti NSF CCLI Program  (http://recourse.cs.lmu.edu) http://xmlpipedb.cs.lmu.edu LMU Bioinformatics Group Kam D. Dahlquist http://myweb.lmu.edu/kdahqui [email_address] John David N. Dionisio http://myweb.lmu.edu/dondi [email_address]

More Related Content

What's hot

RIMES: Embedding Interactive Multimedia Exercises in Lecture Videos
RIMES: Embedding Interactive Multimedia Exercises in Lecture VideosRIMES: Embedding Interactive Multimedia Exercises in Lecture Videos
RIMES: Embedding Interactive Multimedia Exercises in Lecture Videos
Juho Kim
 
Tops tips on creating an inspiring learner journey
Tops tips on creating an inspiring learner journeyTops tips on creating an inspiring learner journey
Tops tips on creating an inspiring learner journey
Learning Pool Ltd
 
Online evaluations: using proctoring tools, Open book assessments and Group E...
Online evaluations: using proctoring tools, Open book assessments and Group E...Online evaluations: using proctoring tools, Open book assessments and Group E...
Online evaluations: using proctoring tools, Open book assessments and Group E...
Inge de Waard
 
Adaptive technologies
Adaptive technologiesAdaptive technologies
Adaptive technologies
Maina WaGĩokõ
 
Probing the boundary of my comfort zone: A novice's experience of using WebEx...
Probing the boundary of my comfort zone: A novice's experience of using WebEx...Probing the boundary of my comfort zone: A novice's experience of using WebEx...
Probing the boundary of my comfort zone: A novice's experience of using WebEx...
CIT, NUS
 
Introduction to ICS 691: Software Engineering for the Smart Grid
Introduction to ICS 691: Software Engineering for the Smart GridIntroduction to ICS 691: Software Engineering for the Smart Grid
Introduction to ICS 691: Software Engineering for the Smart Grid
Philip Johnson
 
Principles and Practices of Online Course Creation and Instructional Design -...
Principles and Practices of Online Course Creation and Instructional Design -...Principles and Practices of Online Course Creation and Instructional Design -...
Principles and Practices of Online Course Creation and Instructional Design -...
Jeffrey Keefer
 
Orientation Webinar LIST 5373 Summer 2016 May 24 6 pm, CST
Orientation Webinar LIST 5373 Summer 2016 May 24 6 pm, CSTOrientation Webinar LIST 5373 Summer 2016 May 24 6 pm, CST
Orientation Webinar LIST 5373 Summer 2016 May 24 6 pm, CST
Peggy Semingson
 
Smartphones wikis and games for education
Smartphones wikis and games for educationSmartphones wikis and games for education
Smartphones wikis and games for education
Jean-Claude Bradley
 
Larry Beck's May 2009 Learning Story
Larry Beck's May 2009 Learning StoryLarry Beck's May 2009 Learning Story
Larry Beck's May 2009 Learning Story
Course Design Institute and pICT SDSU
 
Teaching strategies for digital literacy
Teaching strategies for digital literacyTeaching strategies for digital literacy
Teaching strategies for digital literacy
June Wall
 
Bauer ramazani-tesol2015-flipping-the-classroom-in-action
Bauer ramazani-tesol2015-flipping-the-classroom-in-actionBauer ramazani-tesol2015-flipping-the-classroom-in-action
Bauer ramazani-tesol2015-flipping-the-classroom-in-action
Saint Michael's College
 
Online Learning and Student Success
Online Learning and Student Success Online Learning and Student Success
Online Learning and Student Success
Pearson North America
 
Multimedia in bioethics education: examples of authentic assessment
Multimedia in bioethics education: examples of authentic assessmentMultimedia in bioethics education: examples of authentic assessment
Multimedia in bioethics education: examples of authentic assessment
Chris Willmott
 
Using broadcast media in your teaching
Using broadcast media in your teachingUsing broadcast media in your teaching
Using broadcast media in your teaching
Chris Willmott
 
IoP Talk Sam Nolan Paul Hatherly
IoP Talk Sam Nolan Paul HatherlyIoP Talk Sam Nolan Paul Hatherly
IoP Talk Sam Nolan Paul Hatherly
Sam Nolan
 
Using Virtual World Technologies Across the Disciplines
Using Virtual World Technologies Across the DisciplinesUsing Virtual World Technologies Across the Disciplines
Using Virtual World Technologies Across the Disciplines
Rochell McWhorter
 
formative e-assessment developers day
formative e-assessment developers dayformative e-assessment developers day
formative e-assessment developers day
Yishay Mor
 
612 lessonplan2013
612 lessonplan2013612 lessonplan2013
612 lessonplan2013
Marisa Kenney
 
Activity 7 Day Three
Activity 7 Day ThreeActivity 7 Day Three
Activity 7 Day Three
cppizzetta
 

What's hot (20)

RIMES: Embedding Interactive Multimedia Exercises in Lecture Videos
RIMES: Embedding Interactive Multimedia Exercises in Lecture VideosRIMES: Embedding Interactive Multimedia Exercises in Lecture Videos
RIMES: Embedding Interactive Multimedia Exercises in Lecture Videos
 
Tops tips on creating an inspiring learner journey
Tops tips on creating an inspiring learner journeyTops tips on creating an inspiring learner journey
Tops tips on creating an inspiring learner journey
 
Online evaluations: using proctoring tools, Open book assessments and Group E...
Online evaluations: using proctoring tools, Open book assessments and Group E...Online evaluations: using proctoring tools, Open book assessments and Group E...
Online evaluations: using proctoring tools, Open book assessments and Group E...
 
Adaptive technologies
Adaptive technologiesAdaptive technologies
Adaptive technologies
 
Probing the boundary of my comfort zone: A novice's experience of using WebEx...
Probing the boundary of my comfort zone: A novice's experience of using WebEx...Probing the boundary of my comfort zone: A novice's experience of using WebEx...
Probing the boundary of my comfort zone: A novice's experience of using WebEx...
 
Introduction to ICS 691: Software Engineering for the Smart Grid
Introduction to ICS 691: Software Engineering for the Smart GridIntroduction to ICS 691: Software Engineering for the Smart Grid
Introduction to ICS 691: Software Engineering for the Smart Grid
 
Principles and Practices of Online Course Creation and Instructional Design -...
Principles and Practices of Online Course Creation and Instructional Design -...Principles and Practices of Online Course Creation and Instructional Design -...
Principles and Practices of Online Course Creation and Instructional Design -...
 
Orientation Webinar LIST 5373 Summer 2016 May 24 6 pm, CST
Orientation Webinar LIST 5373 Summer 2016 May 24 6 pm, CSTOrientation Webinar LIST 5373 Summer 2016 May 24 6 pm, CST
Orientation Webinar LIST 5373 Summer 2016 May 24 6 pm, CST
 
Smartphones wikis and games for education
Smartphones wikis and games for educationSmartphones wikis and games for education
Smartphones wikis and games for education
 
Larry Beck's May 2009 Learning Story
Larry Beck's May 2009 Learning StoryLarry Beck's May 2009 Learning Story
Larry Beck's May 2009 Learning Story
 
Teaching strategies for digital literacy
Teaching strategies for digital literacyTeaching strategies for digital literacy
Teaching strategies for digital literacy
 
Bauer ramazani-tesol2015-flipping-the-classroom-in-action
Bauer ramazani-tesol2015-flipping-the-classroom-in-actionBauer ramazani-tesol2015-flipping-the-classroom-in-action
Bauer ramazani-tesol2015-flipping-the-classroom-in-action
 
Online Learning and Student Success
Online Learning and Student Success Online Learning and Student Success
Online Learning and Student Success
 
Multimedia in bioethics education: examples of authentic assessment
Multimedia in bioethics education: examples of authentic assessmentMultimedia in bioethics education: examples of authentic assessment
Multimedia in bioethics education: examples of authentic assessment
 
Using broadcast media in your teaching
Using broadcast media in your teachingUsing broadcast media in your teaching
Using broadcast media in your teaching
 
IoP Talk Sam Nolan Paul Hatherly
IoP Talk Sam Nolan Paul HatherlyIoP Talk Sam Nolan Paul Hatherly
IoP Talk Sam Nolan Paul Hatherly
 
Using Virtual World Technologies Across the Disciplines
Using Virtual World Technologies Across the DisciplinesUsing Virtual World Technologies Across the Disciplines
Using Virtual World Technologies Across the Disciplines
 
formative e-assessment developers day
formative e-assessment developers dayformative e-assessment developers day
formative e-assessment developers day
 
612 lessonplan2013
612 lessonplan2013612 lessonplan2013
612 lessonplan2013
 
Activity 7 Day Three
Activity 7 Day ThreeActivity 7 Day Three
Activity 7 Day Three
 

Similar to An Open Source Framework for Teaching BIoinformatics

FLOSS Case Studies
FLOSS Case StudiesFLOSS Case Studies
FLOSS Case Studies
Dr. Sulayman K. Sowe
 
Scientific Software Challenges and Community Responses
Scientific Software Challenges and Community ResponsesScientific Software Challenges and Community Responses
Scientific Software Challenges and Community Responses
Daniel S. Katz
 
Better Software, Better Practices, Better Research
Better Software, Better Practices, Better ResearchBetter Software, Better Practices, Better Research
Better Software, Better Practices, Better Research
Shoaib Sufi
 
Electronic Portfolio Technology Options
Electronic Portfolio Technology OptionsElectronic Portfolio Technology Options
Electronic Portfolio Technology Options
dcambrid
 
Pawlik
PawlikPawlik
Pawlik
anesah
 
SciForge Workshop@Potsdam Institute for Climate Impact Reserach; Nov 2014
SciForge Workshop@Potsdam Institute for Climate Impact Reserach; Nov 2014SciForge Workshop@Potsdam Institute for Climate Impact Reserach; Nov 2014
SciForge Workshop@Potsdam Institute for Climate Impact Reserach; Nov 2014
dreusser
 
01.intro
01.intro01.intro
01.intro
Philip Johnson
 
SoundSoftware: Software Sustainability for audio and Music Researchers
SoundSoftware: Software Sustainability for audio and Music Researchers SoundSoftware: Software Sustainability for audio and Music Researchers
SoundSoftware: Software Sustainability for audio and Music Researchers
SoundSoftware ac.uk
 
Moudle 2
Moudle 2Moudle 2
Moudle 2
Chongling Yu
 
Large-scale Learning Analytics at TU Delft
Large-scale Learning Analytics at TU DelftLarge-scale Learning Analytics at TU Delft
Large-scale Learning Analytics at TU Delft
Claudia Hauff
 
Software as a Well-Formed Research Object
Software as a Well-Formed Research ObjectSoftware as a Well-Formed Research Object
Software as a Well-Formed Research Object
Yasmin AlNoamany, PhD
 
EDUC 4762 Assignment 4.3
EDUC 4762 Assignment 4.3EDUC 4762 Assignment 4.3
EDUC 4762 Assignment 4.3
wlavery
 
MOOCs - disruptive innovation for higher education(rev1)
MOOCs - disruptive innovation for higher education(rev1)MOOCs - disruptive innovation for higher education(rev1)
MOOCs - disruptive innovation for higher education(rev1)
William Hall
 
How2 Start Ocw
How2 Start OcwHow2 Start Ocw
How2 Start Ocw
Terri Bays
 
VIVO at the University of Idaho
VIVO at the University of IdahoVIVO at the University of Idaho
VIVO at the University of Idaho
anniegaines
 
Progress of my ALT project
Progress of my ALT projectProgress of my ALT project
Progress of my ALT project
stomaskovic
 
20171003 lancaster data conversations Chue-Hong
20171003 lancaster data conversations Chue-Hong20171003 lancaster data conversations Chue-Hong
20171003 lancaster data conversations Chue-Hong
Lancaster University Library
 
Making the Most of the New File Upload Question Feature in an LMS: Nine Appl...
Making the Most of the New File Upload Question Feature in an LMS:  Nine Appl...Making the Most of the New File Upload Question Feature in an LMS:  Nine Appl...
Making the Most of the New File Upload Question Feature in an LMS: Nine Appl...
Shalin Hai-Jew
 
SGCI at Earth Science Information Partners meeting
SGCI at Earth Science Information Partners meetingSGCI at Earth Science Information Partners meeting
SGCI at Earth Science Information Partners meeting
Nancy Wilkins-Diehr
 
Open educational resources (OER): why they matter
Open educational resources (OER): why they matterOpen educational resources (OER): why they matter
Open educational resources (OER): why they matter
UK Centre for Legal Education
 

Similar to An Open Source Framework for Teaching BIoinformatics (20)

FLOSS Case Studies
FLOSS Case StudiesFLOSS Case Studies
FLOSS Case Studies
 
Scientific Software Challenges and Community Responses
Scientific Software Challenges and Community ResponsesScientific Software Challenges and Community Responses
Scientific Software Challenges and Community Responses
 
Better Software, Better Practices, Better Research
Better Software, Better Practices, Better ResearchBetter Software, Better Practices, Better Research
Better Software, Better Practices, Better Research
 
Electronic Portfolio Technology Options
Electronic Portfolio Technology OptionsElectronic Portfolio Technology Options
Electronic Portfolio Technology Options
 
Pawlik
PawlikPawlik
Pawlik
 
SciForge Workshop@Potsdam Institute for Climate Impact Reserach; Nov 2014
SciForge Workshop@Potsdam Institute for Climate Impact Reserach; Nov 2014SciForge Workshop@Potsdam Institute for Climate Impact Reserach; Nov 2014
SciForge Workshop@Potsdam Institute for Climate Impact Reserach; Nov 2014
 
01.intro
01.intro01.intro
01.intro
 
SoundSoftware: Software Sustainability for audio and Music Researchers
SoundSoftware: Software Sustainability for audio and Music Researchers SoundSoftware: Software Sustainability for audio and Music Researchers
SoundSoftware: Software Sustainability for audio and Music Researchers
 
Moudle 2
Moudle 2Moudle 2
Moudle 2
 
Large-scale Learning Analytics at TU Delft
Large-scale Learning Analytics at TU DelftLarge-scale Learning Analytics at TU Delft
Large-scale Learning Analytics at TU Delft
 
Software as a Well-Formed Research Object
Software as a Well-Formed Research ObjectSoftware as a Well-Formed Research Object
Software as a Well-Formed Research Object
 
EDUC 4762 Assignment 4.3
EDUC 4762 Assignment 4.3EDUC 4762 Assignment 4.3
EDUC 4762 Assignment 4.3
 
MOOCs - disruptive innovation for higher education(rev1)
MOOCs - disruptive innovation for higher education(rev1)MOOCs - disruptive innovation for higher education(rev1)
MOOCs - disruptive innovation for higher education(rev1)
 
How2 Start Ocw
How2 Start OcwHow2 Start Ocw
How2 Start Ocw
 
VIVO at the University of Idaho
VIVO at the University of IdahoVIVO at the University of Idaho
VIVO at the University of Idaho
 
Progress of my ALT project
Progress of my ALT projectProgress of my ALT project
Progress of my ALT project
 
20171003 lancaster data conversations Chue-Hong
20171003 lancaster data conversations Chue-Hong20171003 lancaster data conversations Chue-Hong
20171003 lancaster data conversations Chue-Hong
 
Making the Most of the New File Upload Question Feature in an LMS: Nine Appl...
Making the Most of the New File Upload Question Feature in an LMS:  Nine Appl...Making the Most of the New File Upload Question Feature in an LMS:  Nine Appl...
Making the Most of the New File Upload Question Feature in an LMS: Nine Appl...
 
SGCI at Earth Science Information Partners meeting
SGCI at Earth Science Information Partners meetingSGCI at Earth Science Information Partners meeting
SGCI at Earth Science Information Partners meeting
 
Open educational resources (OER): why they matter
Open educational resources (OER): why they matterOpen educational resources (OER): why they matter
Open educational resources (OER): why they matter
 

More from bosc

Swertz Molgenis Bosc2009
Swertz Molgenis Bosc2009Swertz Molgenis Bosc2009
Swertz Molgenis Bosc2009
bosc
 
Bosc Intro 20090627
Bosc Intro 20090627Bosc Intro 20090627
Bosc Intro 20090627
bosc
 
Software Patterns Panel Bosc2009
Software Patterns Panel Bosc2009Software Patterns Panel Bosc2009
Software Patterns Panel Bosc2009
bosc
 
Schbath Rmes Bosc2009
Schbath Rmes Bosc2009Schbath Rmes Bosc2009
Schbath Rmes Bosc2009
bosc
 
Kallio Chipster Bosc2009
Kallio Chipster Bosc2009Kallio Chipster Bosc2009
Kallio Chipster Bosc2009
bosc
 
Welch Wordifier Bosc2009
Welch Wordifier Bosc2009Welch Wordifier Bosc2009
Welch Wordifier Bosc2009
bosc
 
Rice Emboss Bosc2009
Rice Emboss Bosc2009Rice Emboss Bosc2009
Rice Emboss Bosc2009
bosc
 
Prlic Bio Java Bosc2009
Prlic Bio Java Bosc2009Prlic Bio Java Bosc2009
Prlic Bio Java Bosc2009
bosc
 
Senger Soaplab Bosc2009
Senger Soaplab Bosc2009Senger Soaplab Bosc2009
Senger Soaplab Bosc2009
bosc
 
Cock Biopython Bosc2009
Cock Biopython Bosc2009Cock Biopython Bosc2009
Cock Biopython Bosc2009
bosc
 
Hanmer Software Patterns Bosc2009
Hanmer Software Patterns Bosc2009Hanmer Software Patterns Bosc2009
Hanmer Software Patterns Bosc2009
bosc
 
Snell Psoda Bosc2009
Snell Psoda Bosc2009Snell Psoda Bosc2009
Snell Psoda Bosc2009
bosc
 
Procter Vamsas Bosc2009
Procter Vamsas Bosc2009Procter Vamsas Bosc2009
Procter Vamsas Bosc2009
bosc
 
Drablos Composite Motifs Bosc2009
Drablos Composite Motifs Bosc2009Drablos Composite Motifs Bosc2009
Drablos Composite Motifs Bosc2009
bosc
 
Fauteux Seeder Bosc2009
Fauteux Seeder Bosc2009Fauteux Seeder Bosc2009
Fauteux Seeder Bosc2009
bosc
 
Moeller Debian Bosc2009
Moeller Debian Bosc2009Moeller Debian Bosc2009
Moeller Debian Bosc2009
bosc
 
Prins Bio Lib Bosc 2009
Prins Bio Lib Bosc 2009Prins Bio Lib Bosc 2009
Prins Bio Lib Bosc 2009
bosc
 
Wilczynski_BNFinder_BOSC2009
Wilczynski_BNFinder_BOSC2009Wilczynski_BNFinder_BOSC2009
Wilczynski_BNFinder_BOSC2009
bosc
 
Welsh_BioHDF_BOSC2009
Welsh_BioHDF_BOSC2009Welsh_BioHDF_BOSC2009
Welsh_BioHDF_BOSC2009
bosc
 
Varre_Biomanycores_BOSC2009
Varre_Biomanycores_BOSC2009Varre_Biomanycores_BOSC2009
Varre_Biomanycores_BOSC2009
bosc
 

More from bosc (20)

Swertz Molgenis Bosc2009
Swertz Molgenis Bosc2009Swertz Molgenis Bosc2009
Swertz Molgenis Bosc2009
 
Bosc Intro 20090627
Bosc Intro 20090627Bosc Intro 20090627
Bosc Intro 20090627
 
Software Patterns Panel Bosc2009
Software Patterns Panel Bosc2009Software Patterns Panel Bosc2009
Software Patterns Panel Bosc2009
 
Schbath Rmes Bosc2009
Schbath Rmes Bosc2009Schbath Rmes Bosc2009
Schbath Rmes Bosc2009
 
Kallio Chipster Bosc2009
Kallio Chipster Bosc2009Kallio Chipster Bosc2009
Kallio Chipster Bosc2009
 
Welch Wordifier Bosc2009
Welch Wordifier Bosc2009Welch Wordifier Bosc2009
Welch Wordifier Bosc2009
 
Rice Emboss Bosc2009
Rice Emboss Bosc2009Rice Emboss Bosc2009
Rice Emboss Bosc2009
 
Prlic Bio Java Bosc2009
Prlic Bio Java Bosc2009Prlic Bio Java Bosc2009
Prlic Bio Java Bosc2009
 
Senger Soaplab Bosc2009
Senger Soaplab Bosc2009Senger Soaplab Bosc2009
Senger Soaplab Bosc2009
 
Cock Biopython Bosc2009
Cock Biopython Bosc2009Cock Biopython Bosc2009
Cock Biopython Bosc2009
 
Hanmer Software Patterns Bosc2009
Hanmer Software Patterns Bosc2009Hanmer Software Patterns Bosc2009
Hanmer Software Patterns Bosc2009
 
Snell Psoda Bosc2009
Snell Psoda Bosc2009Snell Psoda Bosc2009
Snell Psoda Bosc2009
 
Procter Vamsas Bosc2009
Procter Vamsas Bosc2009Procter Vamsas Bosc2009
Procter Vamsas Bosc2009
 
Drablos Composite Motifs Bosc2009
Drablos Composite Motifs Bosc2009Drablos Composite Motifs Bosc2009
Drablos Composite Motifs Bosc2009
 
Fauteux Seeder Bosc2009
Fauteux Seeder Bosc2009Fauteux Seeder Bosc2009
Fauteux Seeder Bosc2009
 
Moeller Debian Bosc2009
Moeller Debian Bosc2009Moeller Debian Bosc2009
Moeller Debian Bosc2009
 
Prins Bio Lib Bosc 2009
Prins Bio Lib Bosc 2009Prins Bio Lib Bosc 2009
Prins Bio Lib Bosc 2009
 
Wilczynski_BNFinder_BOSC2009
Wilczynski_BNFinder_BOSC2009Wilczynski_BNFinder_BOSC2009
Wilczynski_BNFinder_BOSC2009
 
Welsh_BioHDF_BOSC2009
Welsh_BioHDF_BOSC2009Welsh_BioHDF_BOSC2009
Welsh_BioHDF_BOSC2009
 
Varre_Biomanycores_BOSC2009
Varre_Biomanycores_BOSC2009Varre_Biomanycores_BOSC2009
Varre_Biomanycores_BOSC2009
 

Recently uploaded

leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
alexjohnson7307
 
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
Priyanka Aash
 
Using LLM Agents with Llama 3, LangGraph and Milvus
Using LLM Agents with Llama 3, LangGraph and MilvusUsing LLM Agents with Llama 3, LangGraph and Milvus
Using LLM Agents with Llama 3, LangGraph and Milvus
Zilliz
 
Feature sql server terbaru performance.pptx
Feature sql server terbaru performance.pptxFeature sql server terbaru performance.pptx
Feature sql server terbaru performance.pptx
ssuser1915fe1
 
July Patch Tuesday
July Patch TuesdayJuly Patch Tuesday
July Patch Tuesday
Ivanti
 
Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
Muhammad Ali
 
Types of Weaving loom machine & it's technology
Types of Weaving loom machine & it's technologyTypes of Weaving loom machine & it's technology
Types of Weaving loom machine & it's technology
ldtexsolbl
 
BLOCKCHAIN TECHNOLOGY - Advantages and Disadvantages
BLOCKCHAIN TECHNOLOGY - Advantages and DisadvantagesBLOCKCHAIN TECHNOLOGY - Advantages and Disadvantages
BLOCKCHAIN TECHNOLOGY - Advantages and Disadvantages
SAI KAILASH R
 
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
Kief Morris
 
Best Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdfBest Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdf
Tatiana Al-Chueyr
 
EuroPython 2024 - Streamlining Testing in a Large Python Codebase
EuroPython 2024 - Streamlining Testing in a Large Python CodebaseEuroPython 2024 - Streamlining Testing in a Large Python Codebase
EuroPython 2024 - Streamlining Testing in a Large Python Codebase
Jimmy Lai
 
WhatsApp Spy Online Trackers and Monitoring Apps
WhatsApp Spy Online Trackers and Monitoring AppsWhatsApp Spy Online Trackers and Monitoring Apps
WhatsApp Spy Online Trackers and Monitoring Apps
HackersList
 
Opencast Summit 2024 — Opencast @ University of Münster
Opencast Summit 2024 — Opencast @ University of MünsterOpencast Summit 2024 — Opencast @ University of Münster
Opencast Summit 2024 — Opencast @ University of Münster
Matthias Neugebauer
 
IPLOOK Remote-Sensing Satellite Solution
IPLOOK Remote-Sensing Satellite SolutionIPLOOK Remote-Sensing Satellite Solution
IPLOOK Remote-Sensing Satellite Solution
IPLOOK Networks
 
Uncharted Together- Navigating AI's New Frontiers in Libraries
Uncharted Together- Navigating AI's New Frontiers in LibrariesUncharted Together- Navigating AI's New Frontiers in Libraries
Uncharted Together- Navigating AI's New Frontiers in Libraries
Brian Pichman
 
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSECHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
kumarjarun2010
 
The importance of Quality Assurance for ICT Standardization
The importance of Quality Assurance for ICT StandardizationThe importance of Quality Assurance for ICT Standardization
The importance of Quality Assurance for ICT Standardization
Axel Rennoch
 
Pigging Unit Lubricant Oil Blending Plant
Pigging Unit Lubricant Oil Blending PlantPigging Unit Lubricant Oil Blending Plant
Pigging Unit Lubricant Oil Blending Plant
LINUS PROJECTS (INDIA)
 
Google I/O Extended Harare Merged Slides
Google I/O Extended Harare Merged SlidesGoogle I/O Extended Harare Merged Slides
Google I/O Extended Harare Merged Slides
Google Developer Group - Harare
 
Three New Criminal Laws in India 1 July 2024
Three New Criminal Laws in India 1 July 2024Three New Criminal Laws in India 1 July 2024
Three New Criminal Laws in India 1 July 2024
aakash malhotra
 

Recently uploaded (20)

leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
 
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
 
Using LLM Agents with Llama 3, LangGraph and Milvus
Using LLM Agents with Llama 3, LangGraph and MilvusUsing LLM Agents with Llama 3, LangGraph and Milvus
Using LLM Agents with Llama 3, LangGraph and Milvus
 
Feature sql server terbaru performance.pptx
Feature sql server terbaru performance.pptxFeature sql server terbaru performance.pptx
Feature sql server terbaru performance.pptx
 
July Patch Tuesday
July Patch TuesdayJuly Patch Tuesday
July Patch Tuesday
 
Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
 
Types of Weaving loom machine & it's technology
Types of Weaving loom machine & it's technologyTypes of Weaving loom machine & it's technology
Types of Weaving loom machine & it's technology
 
BLOCKCHAIN TECHNOLOGY - Advantages and Disadvantages
BLOCKCHAIN TECHNOLOGY - Advantages and DisadvantagesBLOCKCHAIN TECHNOLOGY - Advantages and Disadvantages
BLOCKCHAIN TECHNOLOGY - Advantages and Disadvantages
 
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
 
Best Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdfBest Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdf
 
EuroPython 2024 - Streamlining Testing in a Large Python Codebase
EuroPython 2024 - Streamlining Testing in a Large Python CodebaseEuroPython 2024 - Streamlining Testing in a Large Python Codebase
EuroPython 2024 - Streamlining Testing in a Large Python Codebase
 
WhatsApp Spy Online Trackers and Monitoring Apps
WhatsApp Spy Online Trackers and Monitoring AppsWhatsApp Spy Online Trackers and Monitoring Apps
WhatsApp Spy Online Trackers and Monitoring Apps
 
Opencast Summit 2024 — Opencast @ University of Münster
Opencast Summit 2024 — Opencast @ University of MünsterOpencast Summit 2024 — Opencast @ University of Münster
Opencast Summit 2024 — Opencast @ University of Münster
 
IPLOOK Remote-Sensing Satellite Solution
IPLOOK Remote-Sensing Satellite SolutionIPLOOK Remote-Sensing Satellite Solution
IPLOOK Remote-Sensing Satellite Solution
 
Uncharted Together- Navigating AI's New Frontiers in Libraries
Uncharted Together- Navigating AI's New Frontiers in LibrariesUncharted Together- Navigating AI's New Frontiers in Libraries
Uncharted Together- Navigating AI's New Frontiers in Libraries
 
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSECHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
 
The importance of Quality Assurance for ICT Standardization
The importance of Quality Assurance for ICT StandardizationThe importance of Quality Assurance for ICT Standardization
The importance of Quality Assurance for ICT Standardization
 
Pigging Unit Lubricant Oil Blending Plant
Pigging Unit Lubricant Oil Blending PlantPigging Unit Lubricant Oil Blending Plant
Pigging Unit Lubricant Oil Blending Plant
 
Google I/O Extended Harare Merged Slides
Google I/O Extended Harare Merged SlidesGoogle I/O Extended Harare Merged Slides
Google I/O Extended Harare Merged Slides
 
Three New Criminal Laws in India 1 July 2024
Three New Criminal Laws in India 1 July 2024Three New Criminal Laws in India 1 July 2024
Three New Criminal Laws in India 1 July 2024
 

An Open Source Framework for Teaching BIoinformatics

  • 1. BOSC Vienna, Austria July 20, 2007 Kam D. Dahlquist Department of Biology John David N. Dionisio Department of Electrical Engineering & Computer Science Loyola Marymount University An Open Source Framework for Teaching Bioinformatics
  • 2. Outline Motivation Open source culture Implementation --Computer science curriculum --Bioinformatics course
  • 3. Scientific Computing and the Digital Divide Wilson GV (2006) Where’s the real bottleneck in scientific computing? American Scientist 94:5–6. Scientists who come to computer science after being trained in a different primary discipline often have to rediscover, relearn, or keep up with work in the computer science and software development realms in order to get the most out of their work. This causses unecessary and unknowing repetitions of past discoveries and errors. Tools or paradigms that are out-of-date in computer science and software engineering remain in place. At worst, software flaws slow or impede research. Baxter SM, Day SW, Fetrow JS, and Reisinger SJ (2006) Scientific software development is not an oxymoron. PLoS Computational Biology 2:e87.
  • 4. The Disconnect Between Undergraduate Computer Science Training and Expectations and Skill Sets Required for Industry and Research Undergraduate Training Industry Expectation Work alone Work in a team “ Toy” programs and algorithms Large, modular project Throwaway code Code longevity (for better or worse)
  • 5. inroads – The SIGCSE Bulletin, Volume 39, Number 2, 2007 June, pp. 70-74 http://recourse.cs.lmu.edu/
  • 6. Official Open Source Definition (version 1.9) Free redistribution Source code Derived works Integrity of the author’s source code No discrimination against persons or groups No discrimination against fields of endeavor Distribution of license License must not be specific to a product License must not restrict other software License must be technology-neutral
  • 7. Open Source Values Source code is available, modifiable, and long-lived Accountability implies community --explicit “paper trail” for how a particular program changes over time --communication and answerability Responsibilities accompany rights --explicit consideration of the license --giving credit where it is due --appropriate access to software, documentation, and communities --acknowledging security, privacy, legal issues
  • 8. Open Source Teaching Framework Source Code: All code resides in a centralized, public repository As much as possible, everyone’s code is visible to everyone else for code review or team fixing No code is thrown away, it remains available to future “ generations”
  • 9. Open Source Teaching Framework Source Code: All code resides in a centralized, public repository As much as possible, everyone’s code is visible to everyone else for code review or team fixing No code is thrown away, it remains available to future “ generations” Quality & Community: Documentation, inline and online Automated tests Constructive code review, beyond “does it work?” Long-term projects release early, release often Form collaborative communities among faculty, students, classes, and projects
  • 10. Progression through Computer Science Curriculum Sample code bazaar --the creation and maintenance of live, organized, searchable, student accessible sample code libraries --students check out, modify, and check in code Test infection (Erich Gamma) --test suite vs. implementation matrix Life cycle of code --as juniors and seniors, students revisit code written the first year --direct experience with need for documentation Release early, release often --applies to both students and faculty
  • 11. “ CourseForge” A Hardware + Software Infrastructure for Supporting the Teaching Framework Certain teaching elements are impractical without some degree of automation Support platform for management of student work --revision control --test frameworks --communication --issue tracking Derived from open source software, delivered as open source software — the system will interoperate with existing open source tools
  • 12. CMSI 698: Special Studies in Bioinformatics Team-taught by a biologist and a computer scientist
  • 13. CMSI 698: Special Studies in Bioinformatics Team-taught by a biologist and a computer scientist Enrollment in Spring 2006: -- eight students from Master’s degree program in Computer Science -- several coming from aerospace industry -- none with more than college-level introductory biology
  • 14. CMSI 698: Special Studies in Bioinformatics Team-taught by a biologist and a computer scientist Enrollment in Spring 2006: -- eight students from Master’s degree program in Computer Science -- several coming from aerospace industry -- none with more than college-level introductory biology Project-based class began development of XMLPipeDB
  • 15. CMSI 698: Special Studies in Bioinformatics Team-taught by a biologist and a computer scientist Enrollment in Spring 2006: -- eight students from Master’s degree program in Computer Science -- several coming from aerospace industry -- none with more than college-level introductory biology Project-based class began development of XMLPipeDB XMLPipeDB development continued by four students in summer session course entitled Open Source Software Development Workshop
  • 16. CMSI 698: Special Studies in Bioinformatics Team-taught by a biologist and a computer scientist Enrollment in Spring 2006: -- eight students from Master’s degree program in Computer Science -- several coming from aerospace industry -- none with more than college-level introductory biology Project-based class began development of XMLPipeDB --authentic bioinformatics problem to solve XMLPipeDB development continued by four students in summer session course entitled Open Source Software Development Workshop One student continued development for Master’s thesis
  • 17. XMLPipeDB Project Management: Lessons Learned Students on the project had varying levels of maturity, knowledge, and skill coming into the project -- some naturally took on a leadership role -- some hung back or did the minimum required to get by
  • 18. XMLPipeDB Project Management: Lessons Learned Students on the project had varying levels of maturity, knowledge, and skill coming into the project -- some naturally took on a leadership role -- some hung back or did the minimum required to get by Needed to increase communication and sense of team -- students preferred to interact with faculty for questions, rather than each other -- bug trackers and developer’s forum used only sporadically -- implemented weekly reports on Wiki to increase accountability
  • 19. XMLPipeDB Project Management: Lessons Learned Students on the project had varying levels of maturity, knowledge, and skill coming into the project -- some naturally took on a leadership role -- some hung back or did the minimum required to get by Needed to increase communication and sense of team -- students preferred to interact with faculty for questions, rather than each other -- bug trackers and developer’s forum used only sporadically -- implemented weekly reports on Wiki to increase accountability [SourceForge servers were frequently down during class]
  • 20. XMLPipeDB Project Management: Lessons Learned Students on the project had varying levels of maturity, knowledge, and skill coming into the project -- some naturally took on a leadership role -- some hung back or did the minimum required to get by Needed to increase communication and sense of team -- students preferred to interact with faculty for questions, rather than each other -- bug trackers and developer’s forum used only sporadically -- implemented weekly reports on Wiki to increase accountability [SourceForge servers were frequently down during class] 6 months from conception to product
  • 21. XMLPipeDB Project Management: Lessons Learned Students on the project had varying levels of maturity, knowledge, and skill coming into the project -- some naturally took on a leadership role -- some hung back or did the minimum required to get by Needed to increase communication and sense of team -- students preferred to interact with faculty for questions, rather than each other -- bug trackers and developer’s forum used only sporadically -- implemented weekly reports on Wiki to increase accountability [SourceForge servers were frequently down during class] 6 months from conception to product Even the weakest student contributed useable code
  • 22. Take-home Messages Catch them early Making open source values and software development best practices explicit will produce better software and better computer scientists
  • 23. XSD-to-DB Adam Carasso Jeffrey Nicholas Scott Spicer XMLPipeDBUtils David Hoffman Babak Naffas Jeffrey Nicholas Ryan Nakamoto UniProtDB Joe Boyle Joey Barrett GODB Scott Spicer Roberto Ruiz GenMAPP Builder Joey Barrett Jeffrey Nicholas Scott Spicer Special Thanks GenMAPP.org Development Group Caskey L. Dickson, Wesley T. Citti NSF CCLI Program (http://recourse.cs.lmu.edu) http://xmlpipedb.cs.lmu.edu LMU Bioinformatics Group Kam D. Dahlquist http://myweb.lmu.edu/kdahqui [email_address] John David N. Dionisio http://myweb.lmu.edu/dondi [email_address]

Editor's Notes

  1. Both relatively new to LMU Dondi’s background in medical informatics, data visualization, person-computer interactions During my postdoc I had served as project manager for GenMAPP, want to extend features of GenMAPP, especially for other species I am not a software developer (last time I took a computer science class was AP Pascal in high school), but I’ve had a lot of experience interacting with developers I’m proud of GenMAPP, especially that it is user-friendly for biologists, and is relatively bug free (result of my extensive testing) However, I never would have been standing up in this community to talk about it because although we believed strongly that GenMAPP should be free-of-charge, we were slow to make the source code available (it is now available on SourceForge) It has only been my collaboration with Dondi that I have been educated as to what Open Source software development truly means (Cathedral and Bazaar) This is the perfect forum for talking about our work because, while I am using the fruits of XMLPipeDB for GenMAPP as first imagined, we designed this project to have components that are resusable for other purposes and that the bioinformatics developer community is our target audience