e-science data information and knowledge transformation thoughts on education and training for...
TRANSCRIPT
e-Science Data Information and Knowledge Transformatione-Science Data Information and Knowledge Transformation
Thoughts on Education and Thoughts on Education and Training for E-ScienceTraining for E-Science
Based on edikt project experience
Dr. Denise EcklundTechnical Architect
www.edikt.orgwww.edikt.org
AgendaAgenda
Background – the edikt project
What’s an “e-science research project”?
Identify e-science engineering activities
Derive educational requirements
– Hypothesise what is covered elsewhere
– Identify what is missing
My wish-list for ‘gap fillers’
e-Science Data Information and Knowledge Transformatione-Science Data Information and Knowledge Transformation
The EDIKT ProjectThe EDIKT Project
E-Science Data, Informationand Knowledge Transformation
www.edikt.orgwww.edikt.org
Edikt and its missionEdikt and its mission
Res
earc
h I
nte
rest
sR
AE
Study newCS theories indata management
Study data mgmt problems in astronomy, physics,
biology and geosciences
Match?
e-Science Data Information and Knowledge Transformatione-Science Data Information and Knowledge Transformation
A Model for an e-Science A Model for an e-Science Research ProjectResearch Project
www.edikt.orgwww.edikt.org
E-Science project staffingE-Science project staffing
The team
PrincipalInvestigator
TheoreticalScientist
ComputationalScientist
ComputingEngineer
The goal is to do new application science. An important,
but supporting role
www.edikt.orgwww.edikt.org
Computer SWengineering
domain
Applicationsciencedomain
Complimentary knowledgeComplimentary knowledge
Conversationaland shared
understanding
Education andtraining are required
Education and
training are required
e-Science Data Information and Knowledge Transformatione-Science Data Information and Knowledge Transformation
Tasks of a Computing EngineerTasks of a Computing Engineerin an e-science research projectin an e-science research project
working with peopleworking with machines
www.edikt.orgwww.edikt.org
System development processSystem development process
Four phase process
Gatherrequirements
Investigatesolutions
Integratecomponents
Deploy &maintain
www.edikt.orgwww.edikt.org
Working with peopleWorking with people
Phase 1 activities– Gather requirements
Understand ‘enough’ of the science application
– Answer questions and exchange information Intelligibly
Interact with team membershaving varying levelsof computer expertise
Gatherrequirements
www.edikt.orgwww.edikt.org
Working with machinesWorking with machines
Phase 2 - activities– Survey, identify and evaluate existing
applicable software technologies Understand the requirements Effective search (where and how) Install and evaluate potential solutions
Gatherrequirements
Investigatesolutions
www.edikt.orgwww.edikt.org
Working with machinesWorking with machines
Phase 3 - activities– Provide an integrated software solution
Identify technology gaps Develop reliable software to fill the gaps Test and deploy full system
Gatherrequirements
Investigatesolutions
Integratecomponents
www.edikt.orgwww.edikt.org
Working with machines and peopleWorking with machines and people
Phase 4 - activities– Maintain and evolve the integrated solution
Basic systems support activities
– Instruct team members on software usage
Gatherrequirements
Investigatesolutions
Integratecomponents
Deploy &maintain
www.edikt.orgwww.edikt.org
Job requirements for anJob requirements for ane-science computing engineere-science computing engineer
Technical capabilities– Can work as the sole computer expert on the team– Understand ‘enough’ vocabulary, concepts,
data use, structure of algorithms, anddomain-specific standards
– Capable of distributed systems analysis and design– Knowledge and practice of rigorous software design
and development practices
Then … the sociological factors– Willingness to re-use existing technology – Willingness to maintain and evolve the system
www.edikt.orgwww.edikt.org
Structure of the CS curriculumStructure of the CS curriculum
Systems work: operating systems networking compilers embedded systems
Graphics
Computational logicProgramming skillsSW engring methodsDatabase programmingScripting languagesData structuresAlgorithms
Artificial Intelligence work: language processing vision systems human-computer interaction robotics knowledge systems
Algorithmic complexity
HL systems work: middleware service-oriented architectures distributed & parallel systems database systems
Basic Principlesfor everyone
Specialisation
Applicable skillsfor e-science?
www.edikt.orgwww.edikt.org
Assume a two part approachAssume a two part approach
Leverage good Computer Science curriculum– Identify applicable areas of study– Advise students to study across multiple
specialty areas
Fill the gaps with e-science training
e-Science Data Information and Knowledge Transformatione-Science Data Information and Knowledge Transformation
Filling the GapsFilling the Gaps
My wish-list
www.edikt.orgwww.edikt.org
Technical knowledge gapTechnical knowledge gap
Requirement– The project’s primary expert on most
computer-related topics
CS programme– Teaches “independent work” and
“intra-project teamwork
Teach ‘inter-project teamwork’
www.edikt.orgwww.edikt.org
Inter-project teamworkInter-project teamwork
Share knowledge of similar tools and practices– E.g., using same software development tools (CVS, JBuilder, Ant)– A local person to talk with for a range of problems
Bio-research Centre
Project BProject A
www.edikt.orgwww.edikt.org
Application domain gapApplication domain gap
Requirement– Understands ‘enough’ vocabulary, concepts, data use,
structure of algorithms and domain-specific standards
CS Programme– Lab exercises are small examples in easy-to-grasp domains
E-Science applications are not “easy-to-grasp”– Advise students to study introductory domain-specific courses
– Develop lab exercises in e-science application domains
– Recommend a single domain focus
www.edikt.orgwww.edikt.org
Domain focusDomain focus
Can’t wear all these hats and do it well – focus!
www.edikt.orgwww.edikt.org
Search, identify and use gapSearch, identify and use gap
Requirement– Identify and re-use existing third party technologies
CS Programme– Traditional emphasis on building all new software– Recently added exercises in “design re-use”
Add lab exercises covering– Re-use of pre-identified tools and components– Find and select candidate technology for re-use
www.edikt.orgwww.edikt.org
Software methodology gapSoftware methodology gap
Requirement– Rigorous full life cycle software design and
development practices
CS Programme– Typically offer one course on software development
methodologies– Students not required to ‘practice this’ after
software methodologies course
Student interns in an active e-science project– Mandatory use of software development
methodologies
www.edikt.orgwww.edikt.org
Development Tools
Methods and proven toolsMethods and proven tools
Spiral approach Extreme programming
www.edikt.orgwww.edikt.org
The making of an e-Science engineerThe making of an e-Science engineer
CS +
+ +
Domain knowledge(just one)
Broadfundamentals
Rigorous SWdevelopment
methods
Internship in areal e-science project
=E-Science Computing Engineer
e-Science Data Information and Knowledge Transformatione-Science Data Information and Knowledge Transformation
Thank youThank you
Thoughts and questions?