[IPython-User] IPython Notebooks and Active Learning

classic Classic list List threaded Threaded
14 messages Options
Reply | Threaded
Open this post in threaded view
|

[IPython-User] IPython Notebooks and Active Learning

Brian E Chapman
Hello,

We are developing a medical data science curriculum based on Python using Ipython notebooks as a key part of the curriculum. Is anyone aware of studies that have been done evaluating the Ipython notebooks in terms of how well they promote active learning by the students using them?

Thanks,

Brian
— 
Brian E. Chapman, Ph.D.
Associate Professor
Department of Radiology
University of Utah


_______________________________________________
IPython-User mailing list
[hidden email]
http://mail.scipy.org/mailman/listinfo/ipython-user
Reply | Threaded
Open this post in threaded view
|

Re: IPython Notebooks and Active Learning

Thomas Kluyver-2
On 28 July 2014 13:53, Brian E Chapman <[hidden email]> wrote:
We are developing a medical data science curriculum based on Python using Ipython notebooks as a key part of the curriculum. Is anyone aware of studies that have been done evaluating the Ipython notebooks in terms of how well they promote active learning by the students using them?

We're not aware of any studies that have been done on the Notebook. If you find any, please let us know.

Thomas

_______________________________________________
IPython-User mailing list
[hidden email]
http://mail.scipy.org/mailman/listinfo/ipython-user
Reply | Threaded
Open this post in threaded view
|

Re: IPython Notebooks and Active Learning

Andrew Payne
In reply to this post by Brian E Chapman
We are developing a medical data science curriculum based on Python using Ipython notebooks as a key part of the curriculum. Is anyone aware of studies that have been done evaluating the Ipython notebooks in terms of how well they promote active learning by the students using them?

I'm not sure if they've done formal studies, but this group may have some anecdotes to share.  See:  http://nbviewer.ipython.org/github/barbagroup/CFDPython/blob/master/lessons/01_Step_1.ipynb

From their intro:

The course assumes only basic programming knowledge (in any language) and of course some foundation in partial differential equations and fluid mechanics. The practical module was inspired by the ideas of Dr. Rio Yokota, who was a post-doc in Barba's lab, and has been refined by Prof. Barba and her students over several semesters teaching the course. The course is taught entirely using Python and students who don't know Python just learn as we work through the module.

_______________________________________________
IPython-User mailing list
[hidden email]
http://mail.scipy.org/mailman/listinfo/ipython-user
Reply | Threaded
Open this post in threaded view
|

Re: IPython Notebooks and Active Learning

Indranil Sinharoy
In reply to this post by Brian E Chapman
While I am unaware of any official studies on the subject, you might find some useful information from the following people who are using and also advocate the use of IPython notebook in classrooms

1. Prof. Lorena A. Barba (http://lorenabarba.com/). She also gave a talk titled "Computational Thinking is Computational Learning," at Scipy 2014 that discusses similar topics (https://www.youtube.com/watch?v=TWxwKDT88GU&index=13&list=PLYx7XA2nY5GfuhCvStxgbynFNrxr3VFog)
2. Prof. David Ketcheson at KAUST (http://numerics.kaust.edu.sa/people.html), teaches numerical methods and recently gave a talk titled "Teaching Numerical Methods with IPyton Notebooks at Scipy 2014 (http://youtu.be/L-caFdJMR9E?list=PLYx7XA2nY5GfuhCvStxgbynFNrxr3VFog)
 
Regards,
Indranil Sinharoy.
                                                                                                          
Graduate Research Assistant,

Lyle School of Engineering, SMU, Dallas, TX.
Ph: (Cell) 408-338-8834
Ph: (Work) 214-768-3931

Website: http://indranilsinharoy.com




On 7/28/2014 3:53 PM, Brian E Chapman wrote:
Hello,

We are developing a medical data science curriculum based on Python using Ipython notebooks as a key part of the curriculum. Is anyone aware of studies that have been done evaluating the Ipython notebooks in terms of how well they promote active learning by the students using them?

Thanks,

Brian
— 
Brian E. Chapman, Ph.D.
Associate Professor
Department of Radiology
University of Utah



_______________________________________________
IPython-User mailing list
[hidden email]
http://mail.scipy.org/mailman/listinfo/ipython-user




_______________________________________________
IPython-User mailing list
[hidden email]
http://mail.scipy.org/mailman/listinfo/ipython-user
Reply | Threaded
Open this post in threaded view
|

Re: IPython Notebooks and Active Learning

Fernando Perez
In reply to this post by Andrew Payne
I just wanted to echo the comment about Lorena Barba's work. Furthermore, together with:

David Ketcheson, KAUST
Ian Hawke, Southampton
Carlos Jerez, PUC Chile

they are going to be teaching a collaborative MOOC on numerical methods using IPython Notebooks. You can see her talk and slides here:


and David gave both a talk at the conference and a full tutorial on teaching with IPython:


Please let us know what outcomes you find! We're very much looking forward to empirical evidence and lessons from the field on this kind of work...

Best

f


On Mon, Jul 28, 2014 at 2:55 PM, Andrew Payne <[hidden email]> wrote:
We are developing a medical data science curriculum based on Python using Ipython notebooks as a key part of the curriculum. Is anyone aware of studies that have been done evaluating the Ipython notebooks in terms of how well they promote active learning by the students using them?

I'm not sure if they've done formal studies, but this group may have some anecdotes to share.  See:  http://nbviewer.ipython.org/github/barbagroup/CFDPython/blob/master/lessons/01_Step_1.ipynb

From their intro:

The course assumes only basic programming knowledge (in any language) and of course some foundation in partial differential equations and fluid mechanics. The practical module was inspired by the ideas of Dr. Rio Yokota, who was a post-doc in Barba's lab, and has been refined by Prof. Barba and her students over several semesters teaching the course. The course is taught entirely using Python and students who don't know Python just learn as we work through the module.

_______________________________________________
IPython-User mailing list
[hidden email]
http://mail.scipy.org/mailman/listinfo/ipython-user




--
Fernando Perez (@fperez_org; http://fperez.org)
fperez.net-at-gmail: mailing lists only (I ignore this when swamped!)
fernando.perez-at-berkeley: contact me here for any direct mail

_______________________________________________
IPython-User mailing list
[hidden email]
http://mail.scipy.org/mailman/listinfo/ipython-user
Reply | Threaded
Open this post in threaded view
|

Re: IPython Notebooks and Active Learning

matthewbrett
In reply to this post by Brian E Chapman
Hi,

On Mon, Jul 28, 2014 at 4:53 PM, Brian E Chapman <[hidden email]> wrote:
> Hello,
>
> We are developing a medical data science curriculum based on Python using
> Ipython notebooks as a key part of the curriculum. Is anyone aware of
> studies that have been done evaluating the Ipython notebooks in terms of how
> well they promote active learning by the students using them?

That's a really interesting question.

Do you have a specific technical meaning in mind for 'active
learning'?  I get the impression from the wikipedia page that it can
be fairly broad in meaning.

To follow a medical analogy, I am not sure it's ethical at the moment
to do a trial on whether the notebook is a good tool for interactive
tutorials, its benefits seem so obvious.

Where I really would like more data, is whether it is beneficial to
the students to have them doing exercises in the notebook, or whether
we should teach more traditional development workflow with version
control and an IDE / text editor + terminal combination for the
exercises, while using the notebook for tutorials.  I recently taught
on a course where we used the notebook almost exclusively for the
class materials, largely because it's so good for writing teaching
material, but I worry we may not have taught the students the best
habits for their daily work.

Cheers,

Matthew
_______________________________________________
IPython-User mailing list
[hidden email]
http://mail.scipy.org/mailman/listinfo/ipython-user
Reply | Threaded
Open this post in threaded view
|

Re: IPython Notebooks and Active Learning

Brian E Chapman
The ³active learning² was the phrase of a reviewer critiquing our adoption
of Ipython notebooks as the basic teaching medium without providing
evidence that these facilitate ³active learning.² Like you I¹m not sure
what is meant precisely. And with many of the other people posting
replies, I taught a course using Ipython notebooks last semester and liked
it and think the students really liked it. After attending the SciPy 2014
conference, I¹m looking forward to improving my lecture notebooks with
widgets, etc. but will try to get in touch with some educational
researchers to see if we can ask and answer some questions about efficacy.

Thanks for your input.

Brian


On 7/28/14, 6:00 PM, "Matthew Brett" <[hidden email]> wrote:

>Hi,
>
>On Mon, Jul 28, 2014 at 4:53 PM, Brian E Chapman <[hidden email]>
>wrote:
>> Hello,
>>
>> We are developing a medical data science curriculum based on Python
>>using
>> Ipython notebooks as a key part of the curriculum. Is anyone aware of
>> studies that have been done evaluating the Ipython notebooks in terms
>>of how
>> well they promote active learning by the students using them?
>
>That's a really interesting question.
>
>Do you have a specific technical meaning in mind for 'active
>learning'?  I get the impression from the wikipedia page that it can
>be fairly broad in meaning.
>
>To follow a medical analogy, I am not sure it's ethical at the moment
>to do a trial on whether the notebook is a good tool for interactive
>tutorials, its benefits seem so obvious.
>
>Where I really would like more data, is whether it is beneficial to
>the students to have them doing exercises in the notebook, or whether
>we should teach more traditional development workflow with version
>control and an IDE / text editor + terminal combination for the
>exercises, while using the notebook for tutorials.  I recently taught
>on a course where we used the notebook almost exclusively for the
>class materials, largely because it's so good for writing teaching
>material, but I worry we may not have taught the students the best
>habits for their daily work.
>
>Cheers,
>
>Matthew
>_______________________________________________
>IPython-User mailing list
>[hidden email]
>http://mail.scipy.org/mailman/listinfo/ipython-user

_______________________________________________
IPython-User mailing list
[hidden email]
http://mail.scipy.org/mailman/listinfo/ipython-user
Reply | Threaded
Open this post in threaded view
|

[IPython-User] unsubscribe

Deanna Church

-- 
Deanna Church
Sent with Airmail

On July 29, 2014 at 2:45:55 PM, Brian E Chapman ([hidden email]) wrote:

The ³active learning² was the phrase of a reviewer critiquing our adoption
of Ipython notebooks as the basic teaching medium without providing
evidence that these facilitate ³active learning.² Like you I¹m not sure
what is meant precisely. And with many of the other people posting
replies, I taught a course using Ipython notebooks last semester and liked
it and think the students really liked it. After attending the SciPy 2014
conference, I¹m looking forward to improving my lecture notebooks with
widgets, etc. but will try to get in touch with some educational
researchers to see if we can ask and answer some questions about efficacy.

Thanks for your input.

Brian


On 7/28/14, 6:00 PM, "Matthew Brett" <[hidden email]> wrote:

>Hi,
>
>On Mon, Jul 28, 2014 at 4:53 PM, Brian E Chapman <[hidden email]>
>wrote:
>> Hello,
>>
>> We are developing a medical data science curriculum based on Python
>>using
>> Ipython notebooks as a key part of the curriculum. Is anyone aware of
>> studies that have been done evaluating the Ipython notebooks in terms
>>of how
>> well they promote active learning by the students using them?
>
>That's a really interesting question.
>
>Do you have a specific technical meaning in mind for 'active
>learning'? I get the impression from the wikipedia page that it can
>be fairly broad in meaning.
>
>To follow a medical analogy, I am not sure it's ethical at the moment
>to do a trial on whether the notebook is a good tool for interactive
>tutorials, its benefits seem so obvious.
>
>Where I really would like more data, is whether it is beneficial to
>the students to have them doing exercises in the notebook, or whether
>we should teach more traditional development workflow with version
>control and an IDE / text editor + terminal combination for the
>exercises, while using the notebook for tutorials. I recently taught
>on a course where we used the notebook almost exclusively for the
>class materials, largely because it's so good for writing teaching
>material, but I worry we may not have taught the students the best
>habits for their daily work.
>
>Cheers,
>
>Matthew
>_______________________________________________
>IPython-User mailing list
>[hidden email]
>http://mail.scipy.org/mailman/listinfo/ipython-user

_______________________________________________
IPython-User mailing list
[hidden email]
http://mail.scipy.org/mailman/listinfo/ipython-user


This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. This message may contain privileged and / or confidential  information. If you are NOT the intended recipient of this message, copying, printing, disseminating, forwarding or any other use or action derived from its content is strictly prohibited. Please notify the sender immediately by e-mail if you have received this e-mail by error and delete this e-mail from your system. If you received the email by error and this message contains patient information, please report the error by contacting the Personalis Clinical Laboratory at [hidden email].
_______________________________________________
IPython-User mailing list
[hidden email]
http://mail.scipy.org/mailman/listinfo/ipython-user
Reply | Threaded
Open this post in threaded view
|

Re: IPython Notebooks and Active Learning

Paul Hobson
In reply to this post by Brian E Chapman

On Tue, Jul 29, 2014 at 2:45 PM, Brian E Chapman <[hidden email]> wrote:
The ³active learning² was the phrase of a reviewer critiquing our adoption
of Ipython notebooks as the basic teaching medium without providing
evidence that these facilitate ³active learning.² 

Sheesh. You should probably just stick to reading directly from power point slides [/sarcasm]

_______________________________________________
IPython-User mailing list
[hidden email]
http://mail.scipy.org/mailman/listinfo/ipython-user
Reply | Threaded
Open this post in threaded view
|

Re: IPython Notebooks and Active Learning

Ian Stokes-Rees
In reply to this post by Andrew Payne
I use IPython Notebooks extensively now in my teaching, and any review of nbviewer.ipython.org will quickly show you how many other people are doing the same thing.  It is my experience as an instructor that it is an incredibly powerful tool to facilitate teaching.  It is my observation that my course participants learn better when I use them, and it is their feedback that IPython Notebooks are a powerful way to progressively capture ideas that it improves their learning in contrast to the alternatives: slides, whiteboard, etc.

I have personally been inspired by Raymond Hettinger who is a proponent of "live coding" to teach concepts, and having worked with him over the past year I now adopt this technique as much as possible.  With IPython Notebooks I am able to progressively develop ideas.  With a suite of tools (unfortunately proprietary) that Raymond has developed, I am able to "simulcast" my Notebook teaching material to students' own laptops through a combination of Wakari (http://wakari.io -- disclaimer: I am an engineer at Continuum developing Wakari), and nbconvert.  So they can watch me develop ideas; they can get their own local clone of my live work; or they can view it through a publicly accessible URL (e.g. here is one from a 3-hour Python Data Vis workshop that I ran in January: http://j.mp/pyvis-3h).

What is the downside?  There is a disconnect between notebooks (where everything is bundled into a single JSON file) and typical operational reality where Python scripts/programs/libraries live in their own .py files.

At Continuum we are thinking about how to address this, and I know people within the IPython community (and core team) are as well.

Within Wakari we allow users to publish a notebook "bundle" which is a suite of notebooks, data files, .py files, and the dependencies required to run them (in fact, the meta-data required to recreate the environment).  If you "view" http://j.mp/pyvis-3h you will only see the nbconvert'ed single top level notebook.  In fact there were about a dozen notebooks in the workshop, and I just chose to only show one in the "bundle view", but if you were to "Download the Entire Bundle" you'd get the whole package: Seaborn, Prettyplotlib, yhat, ggplot, etc. etc.  Plus all the data files and .py files.  Plus the details you'd need to re-create the environment (unsurprisingly, for anyone who knows Continuum, we do this through Conda, rather than pip and virtualenv).

From another angle, Conda (http://conda.pydata.org) and Binstar (http://www.binstar.org) help notebook publishers create sets of packages that can be quickly and easily re-created in the same informal manner that IPython Notebooks encourage, without the need to go through registering a PyPI package (or perhaps because it is private work that doesn't belong in a public repo).

And finally we've thought about how Notebooks can, themselves, encapsulate an application of a sort: how do you parameterize a notebook in order to provide:

* CLI interface to fetch a notebook, configure a sandbox environment (with dependency installation), and invoke the notebook with some CLI parameters, and then get out the nbconvert'ed output for that particular notebook invocation as, say, a PDF or HTML page.  Imagine: nbexecute GISTID a=12 b='linear regression' c=quarterlydata.csv

* RESTful interface so a notebook can be loaded into a "notebook app server" that will view the .ipynb file as an application specification, creating the sandbox for its invocation, and then exposing a RESTful API to access the notebook for single execution (http://server/nb/GISTID?a=12&b=linear regression&c=quarterlydata.csv).

* Web-interface to provide a web-form for notebook app input, then execution to provide specific output: format, or resulting elements.

Our cut at making this possible is called "conda-launch" and is BSD licensed.  It can be found at http://github.com/conda/conda-launch

Cheers,

Ian

On 7/28/14, 5:55 PM, Andrew Payne wrote:
We are developing a medical data science curriculum based on Python using Ipython notebooks as a key part of the curriculum. Is anyone aware of studies that have been done evaluating the Ipython notebooks in terms of how well they promote active learning by the students using them?

I'm not sure if they've done formal studies, but this group may have some anecdotes to share.  See:  http://nbviewer.ipython.org/github/barbagroup/CFDPython/blob/master/lessons/01_Step_1.ipynb

From their intro:

The course assumes only basic programming knowledge (in any language) and of course some foundation in partial differential equations and fluid mechanics. The practical module was inspired by the ideas of Dr. Rio Yokota, who was a post-doc in Barba's lab, and has been refined by Prof. Barba and her students over several semesters teaching the course. The course is taught entirely using Python and students who don't know Python just learn as we work through the module.


_______________________________________________
IPython-User mailing list
[hidden email]
http://mail.scipy.org/mailman/listinfo/ipython-user



_______________________________________________
IPython-User mailing list
[hidden email]
http://mail.scipy.org/mailman/listinfo/ipython-user
Reply | Threaded
Open this post in threaded view
|

Re: IPython Notebooks and Active Learning

Jody Klymak

On Jul 30, 2014, at  13:05 PM, Ian Stokes-Rees <[hidden email]> wrote:

What is the downside?  There is a disconnect between notebooks (where everything is bundled into a single JSON file) and typical operational reality where Python scripts/programs/libraries live in their own .py files.

But just to clarify, I think that is perhaps a problem if you are teaching computer science.  If one wants to teach data analysis, a full IDE and fancy VC system get in the way as much as they help. Most science, and I expect engineering, are one-off scripts, often with graphical final products, that iPython Notebooks are ideally suited to.  

Cheers,  Jody

--
Jody Klymak    






_______________________________________________
IPython-User mailing list
[hidden email]
http://mail.scipy.org/mailman/listinfo/ipython-user
Reply | Threaded
Open this post in threaded view
|

Re: IPython Notebooks and Active Learning

matthewbrett
Hi,

On Wed, Jul 30, 2014 at 8:26 PM, Jody Klymak <[hidden email]> wrote:

>
> On Jul 30, 2014, at  13:05 PM, Ian Stokes-Rees <[hidden email]>
> wrote:
>
> What is the downside?  There is a disconnect between notebooks (where
> everything is bundled into a single JSON file) and typical operational
> reality where Python scripts/programs/libraries live in their own .py files.
>
>
> But just to clarify, I think that is perhaps a problem if you are teaching
> computer science.  If one wants to teach data analysis, a full IDE and fancy
> VC system get in the way as much as they help. Most science, and I expect
> engineering, are one-off scripts, often with graphical final products, that
> iPython Notebooks are ideally suited to.

I'm teaching brain imaging to psychologists, and I don't want to teach
them to use one-off scripts.

As practicing scientists, we need the daily rigor of version control,
code review and testing, and that is still best taught with a text
editor and command line tools, in my view.   The problem is that the
notebook makes some things so easy that it is very tempting to use it
for all the course materials, including the exercises.   I think
that's often a mistake, and I say that because I made that mistake
myself.

Cheers,

Matthew
_______________________________________________
IPython-User mailing list
[hidden email]
http://mail.scipy.org/mailman/listinfo/ipython-user
Reply | Threaded
Open this post in threaded view
|

Re: IPython Notebooks and Active Learning

Andrew Payne

On Wed, Jul 30, 2014 at 11:38 PM, Matthew Brett <[hidden email]> wrote:
As practicing scientists, we need the daily rigor of version control,
code review and testing, and that is still best taught with a text
editor and command line tools, in my view.   The problem is that the
notebook makes some things so easy that it is very tempting to use it
for all the course materials, including the exercises.   I think
that's often a mistake, and I say that because I made that mistake
myself.


While IPython certainly encourages "informal programming", you can certainly use it with the rigors you describe.  I put many of my notebooks in Git, and inline test cases and assert statements.  

What I especially like about the notebook model for science and research is that it encourages you to "show your work", leaving a reproducible & explorable audit trail from the original data to your result.

From an command-line perspective, you could think of IPython as an extremely fancy shell, with graphical output and interactivity.  The notebook is a shell script, with interspersed echo/printf statements (cells).  And the system stays running, so you can explore the state.

-andy

_______________________________________________
IPython-User mailing list
[hidden email]
http://mail.scipy.org/mailman/listinfo/ipython-user
Reply | Threaded
Open this post in threaded view
|

Re: IPython Notebooks and Active Learning

matthewbrett
Hi,

On Thu, Jul 31, 2014 at 3:01 AM, Andrew Payne <[hidden email]> wrote:

>
> On Wed, Jul 30, 2014 at 11:38 PM, Matthew Brett <[hidden email]>
> wrote:
>>
>> As practicing scientists, we need the daily rigor of version control,
>> code review and testing, and that is still best taught with a text
>> editor and command line tools, in my view.   The problem is that the
>> notebook makes some things so easy that it is very tempting to use it
>> for all the course materials, including the exercises.   I think
>> that's often a mistake, and I say that because I made that mistake
>> myself.
>
>
> While IPython certainly encourages "informal programming", you can certainly
> use it with the rigors you describe.  I put many of my notebooks in Git, and
> inline test cases and assert statements.

Sure - I put many of my notebooks in git as well, but they are
difficult to diff and reuse, and difficult to test too, compared to
writing unit tests on imported code functions, so the result for me is
informal version control and informal testing.

> What I especially like about the notebook model for science and research is
> that it encourages you to "show your work", leaving a reproducible &
> explorable audit trail from the original data to your result.

This is the real sweet-spot for the notebook - as a demonstration of
how to do something.  I think it is best used at the end of set of
work, where most of the work is (now) in code and code libraries.
The notebook is then the ideal tool to walk though how to use the
code, and what the output looks like.

Cheers,

Matthew
_______________________________________________
IPython-User mailing list
[hidden email]
http://mail.scipy.org/mailman/listinfo/ipython-user