New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Paper: Teaching numerical methods with IPython notebooks and inquiry-based learning (Ketcheson) #82
Conversation
This looks great, thanks! We'll start the reviews soon after the deadline. By the way, you may be interested to see https://conference.scipy.org/scipy2014/schedule/presentation/23/ There are some announcements on Google+ and elsewhere for more info. |
Dear author and reviewers: please note that the latest PDF version of this paper is always available at http://bit.ly/scipy2014_proc |
Dear @ketch, I look forward to reviewing your paper. |
@minrk Thanks for volunteering! I pushed some minor changes just now, so if you haven't started yet then please use the latest version. If you already started, that's fine too. ws |
@ketch I'm looking forward to reading your paper. I will get comments back to you early next week. |
Any update on this? |
Dear author and reviewers, the final deadline for paper changes is set for the 5th. We're going to extend that by an extra 3 days for one final review + edit cycle, thereby making the sign-off deadline the 8th. Papers that have not been signed off by a reviewer on this date will unfortunately not be included in this year's proceedings. Thanks for all your hard work so far! |
@dfolch Did you get a chance to look at the paper? |
This paper offers very good pedagogic advice that would be valuable to any instructor who is trying to integrate python into a theory (or methods) course. Although this paper is focused on numerical methods, I would say that its bigger contribution is that it builds a solid argument for the IBL approach. Overall I liked this paper. I plan to implement a similar approach this fall is, and this paper gave me many ideas to integrate into my own class. High-level comment: Since I see this as an important contribution beyond just the numerical methods community, many of my comments relate to giving additional detail on numerical analysis for the reader with no background in this topic.
|
I really enjoyed reading this paper, well written and definitely has something to say. It would be helpful to include a few well chosen examples that highlight the ideas behind Inquiry Based Learning, or at least point to a notebook that demonstrates the concept. The article would definitely benefit from a few images, the Animations section especially. An article about hands on exploration would feel much more tangible with a bit more visual impact. |
university course, with an attendant reduction in the amount of material that | ||
can be covered. | ||
|
||
<<<<<<< Updated upstream |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fix merge artifact
@dfolch Thanks for the excellent, detailed review. Point-by-point responses below.
Good point; this is the first conference paper I've written for an audience that is not primarily composed of mathematicians. I've tried to make it more accessible to the general Scipy audience, incorporating your suggestions.
Done.
I tried this, but couldn't get it to work. Hopefully it is less jarring due to my implementation of your next comment.
Done.
Near the beginning of the paper, I added a forward reference to the Drawbacks section.
The things in that list are fairly general programming languages (the mathematical ones are specialized, but you can still do a very broad range of things with them). I don't think cplex and gurobi are general programming languages.
There are a huge number of things that could be added to this list; I certainly didn't mean for it to be comprehensive. I think a complete list would also include SWIG, Weave, PyCUDA, Numba, and others. I don't think that making such a list is central to this paper, and I don't want to try because I'd inevitably leave something important out.
I added links to two examples of notebooks for such lab sessions. And yes, I generally assume that students understand programming basics. This is a luxury I can afford in a graduate course, that probably wouldn't be valid in an undergraduate course.
It's challenging because students may feel uncomfortable pairing up or intimidated at having someone else read their code. But I think it's worthwhile for them to overcome those things. I usually tell them to pair with someone next to them. If anyone is left unpaired, I assign them.
It's something I'm just learning to do. I added a link to an example.
I've added some explanation, which hopefully makes some sense to those who aren't familiar with it.
I've added links to my course materials, near the beginning of the paper.
Yes, that's true. In my own research, I use a text editor much more than the notebook, although my usage of the notebook is increasing. A primary reason for this is the lack of Vim keybindings in the notebook, which I think will be remedied soon.
I don't think this is essential to the paper, but I added a link to the syllabus, which contains that information. |
Thanks for the review and comments, @holtzhau .
I've added links to several of my notebooks.
I added a couple of notebook screenshots. It's a bit difficult to make good use of them because the text in them is so small when inserted in the paper. If you have suggestions for other figures, they would be welcome. |
Feel free to make the figures wide if they aren't already. |
equations that arise in modeling things like the distribution of heat | ||
in a solid. The basic building block of multigrid is some way of smoothing | ||
the solution; the key idea is to apply that smoother successively on | ||
copmutational grids with different levels of resolution. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
computational
I agree with most of @dfolch's review, and think it's largely addressed by revisions. I think that one of the notebook's most often criticized (rightly so) weaknesses as a tool for teaching students programming is that notebooks are not libraries, and notebook-based teaching can often fail to convey practices for building and testing code as libraries. The article mentions 'lengthy programs' as something that benefits from a traditional text editor, but discussion of reusable library code would probably be prudent. The fourth bullet in the initial list of goals is 'Test', but no discussion is made of traditional code testing tools (unit tests, etc.). Do you not do any formal testing of code? Some discussion of your experience with testing and verification would be appreciated. |
@minrk Thanks; I added the following near the end of the paper:
Regarding testing: I don't have students do any formal testing. I do make them design and run convergence tests and other checks in a less formal way, as exercises. I'm toying with the idea of including some formal testing next time. |
Thanks, sounds good. One typo:
|
Merged into the 2014 branch. |
No description provided.