the science of teaching scientists scientific software development for science and data science

17
Scientists learning software / Christopher Beitel / Mozilla Brown Bag, 2014 The science of teaching scientists software development for science and data science 1 Christopher Beitel, Ph.D. Candidate, UC Davis @datascimed

Upload: christopher-beitel

Post on 21-May-2015

212 views

Category:

Science


2 download

DESCRIPTION

Most scientists who write scientific software have no formal training in software development. This is a drain on our collective effectiveness through the production of inefficient software and the loss of man hours to inefficient coding. Imagine you ran a biology research lab. How would you get all of your biologists up to speed on best practices so they could write good software to amplify their laboratory efforts? From square one. That's what I'll be talking about - how to teach / how people learn as well as what needs to be learned in order to build effective teams. This is relevant to the Mozilla audience given the relationship between the Mozilla Science Lab and Software Carpentry, the latter being an organization whose mission is software development education for scientists. https://air.mozilla.org/the-science-of-teaching-scientists-scientific-software-development-for-science-and-data-science/

TRANSCRIPT

Page 1: The science of teaching scientists scientific software development for science and data science

Scientists learning software / Christopher Beitel / Mozilla Brown Bag, 2014

The science of teaching scientists software development for science and data science

1

Christopher Beitel, Ph.D. Candidate, UC Davis

@datascimed

Page 2: The science of teaching scientists scientific software development for science and data science

Scientists learning software / Christopher Beitel / Mozilla Brown Bag, 2014 2

Motivation for goals

Skill goals

7 Principles of learning

Discussion

The outline of the talkSo you don’t feel lost

Page 3: The science of teaching scientists scientific software development for science and data science

Scientists learning software / Christopher Beitel / Mozilla Brown Bag, 2014 3

The concept of resource non-infinitenessAll the money < infinity

Page 4: The science of teaching scientists scientific software development for science and data science

Scientists learning software / Christopher Beitel / Mozilla Brown Bag, 2014 4

Software education?Self-teaching appears to leave a gap in knowledge

90%Primarily self-taughtLearning with little or no guidance

47%Understand testingWhich is concerning

65%Of medical studies were inconsistent when re-tested

30%Or more of scientists time spent developing software

Page 5: The science of teaching scientists scientific software development for science and data science

Scientists learning software / Christopher Beitel / Mozilla Brown Bag, 2014 5

Let’s make one of theseThe graduate student or post-doc everyone wants

Uses best-practices and knows relevant advanced python libraries, data structures, algorithms, etc.

Python, Unix, and DB

Git, communication, lean/agile experience, task management, teaches others

Collaboration ready

Genomics, astro, etc. require advanced understanding of the material for that area.

Domain-specific knowledge

Value grows quickly over time as they constantly add new skills and bring these back to the research team

Constant self-directed learning

✓ Has a special place in their heart for whiteboards

✓ Highly integrated knowledge DB for fast lookup

✓ Takes on suitable challenges

✓ Makes positive assumptions about team members

✓ Seeks out assistance when necessary

✓ Highly motivated and expects to succeed

✓ Mentors and is mentored by others

✓ Helps maintain a constructive professional environment

General Features

JohnCreek@Github, please don’t sue

Page 6: The science of teaching scientists scientific software development for science and data science

Scientists learning software / Christopher Beitel / Mozilla Brown Bag, 2014 6

✒ How people learnThe same basic ways everyone acquires new skills

Page 7: The science of teaching scientists scientific software development for science and data science

Scientists learning software / Christopher Beitel / Mozilla Brown Bag, 2014 7

Key learning conceptsWhat we’ll be discussing

1 Prior knowledge

2 Knowledge organization

3 Motivation

4 Mastery

5Goal-directed practice + feedback

6Learning environment

7Self-direction

Page 8: The science of teaching scientists scientific software development for science and data science

Scientists learning software / Christopher Beitel / Mozilla Brown Bag, 2014 8

Prior knowledgeLearning happens in the context of previous learning

There is widespread agreement among researchers that students must connect new knowledge to previous knowledge in order to learn (Bransford & Johnson, 1972; Resnick, 1983).

“”(Ambrose et al., 2010)

Diagnostic + self assessment

Mentor / student learning

Concept mapping + whiteboard

Intentionally link to prior knowledge

Page 9: The science of teaching scientists scientific software development for science and data science

Scientists learning software / Christopher Beitel / Mozilla Brown Bag, 2014 9

Knowledge organizationThe brain is a database, choose your structure

If students lack a strongly connected network, their knowledge will be slower and more difficult to retrieve (Bradshaw & Anderson, 1982; Reder & Anderson, 1980; Smith, Adams, & Schorr, 1978).

“”(Ambrose et al., 2010)

Organize intentionally

Find extra connections

Find deeper themes

Concept map with an expert

Page 10: The science of teaching scientists scientific software development for science and data science

Scientists learning software / Christopher Beitel / Mozilla Brown Bag, 2014 10

MotivationPersonal investment directs and sustains learning

Relevance to your life and career

Learn with real-world tasks

Appropriate level of challenge

Rely on support structure

… concepts that are central to understanding motivation: (1) the subjective value of the goal and (2) the expectations for successful attainment… (Atkinson, 1957, 1964; Wigfield & Eccles, 1992, 2000)

“”(Ambrose et al., 2010)

Page 11: The science of teaching scientists scientific software development for science and data science

Scientists learning software / Christopher Beitel / Mozilla Brown Bag, 2014 11

MasteryWhen you are fluent with a skill

Identify component skills

Practice integration to reduce load

Practice right task, right tool

Repeated practice builds fluency

To achieve mastery … develop a set of key component skills, practice them to the point where they can be combined fluently, and know when and where to apply them appropriately.

“”(Ambrose et al., 2010)

Page 12: The science of teaching scientists scientific software development for science and data science

Scientists learning software / Christopher Beitel / Mozilla Brown Bag, 2014 12

Goal-directed practice and feedbackTargeted practice and targeted feedback from experts

Specific, attainable goals for practice

Frequent practice over long term

Group, mentor, peer feedback

Feedback should identify patterns

Research shows that the amount of time someone spends in deliberate practice is what predicts continued learning in a given field, rather than time spent in more generic practice (Ericsson, Krampe, & Tescher-Romer, 2003).

“”(Ambrose et al., 2010)

Page 13: The science of teaching scientists scientific software development for science and data science

Scientists learning software / Christopher Beitel / Mozilla Brown Bag, 2014 13

Learning environmentPeople can fulfill their potential when their needs are met

Model verbally, lead by example

Assumptions => verbal/non cues

Self-esteem and expectations

Inclusion and belonging

A negative environment may impede learning and performance, but a positive climate can energize students learning (Pascarella & Terenzini, 1991).

“”(Ambrose et al., 2010)

Page 14: The science of teaching scientists scientific software development for science and data science

Scientists learning software / Christopher Beitel / Mozilla Brown Bag, 2014 14

Self-directed learningIt’s a skill to be learned, practiced, and taught

Assess the task given goals

Design & continuously test approach

Plan approach

Learn from expert autodidacts

… Learners need to engage in a variety of processes to monitor and control their learning (Zimmerman, 2001). … these models take the form of a cycle.

“”(Ambrose et al., 2010)

Page 15: The science of teaching scientists scientific software development for science and data science

Scientists learning software / Christopher Beitel / Mozilla Brown Bag, 2014 15

Summary and discussionA recap of what we covered

What skills should a scientist who works with data have? !

Do you learn independently or in groups? !

Self-directed learning strategies? !

How explicitly do you think about learning?

Page 16: The science of teaching scientists scientific software development for science and data science

Scientists learning software / Christopher Beitel / Mozilla Brown Bag, 2014 16

Thank you for having me

Page 17: The science of teaching scientists scientific software development for science and data science

Scientists learning software / Christopher Beitel / Mozilla Brown Bag, 2014 17

@datascimedthat’s my twitter