Closed charlesfrye closed 7 years ago
when is the 1st day of class?
Jan 18
Based on the schedule, I need to include exercises in the Tech Tools Tutorials (see #8 ). I'll append them to the end, and I'll use them to organize the first lab session.
EDIT: the schedule has changed, as has the style of the first lab session. See #8 .
See here for a similar notebook that quickly highlights some computational things students / instructors often use.
Some other quick thoughts:
General These are very good, with lots of information that hopefully students can return to in the future. The main question I have is: how are you hoping for students to parse the material? In a linear fashion? Live, as a group? I think the content is quite readable, but it might be tough for someone if they're just looking for very one particular piece of information. If it is supposed to be linear, then you could append a number to the beginning of each so they sort themselves properly.
Also, you might benefit from having a TOC in some notebooks. I think there's a plugin to do this automatically within jupyter, see: https://github.com/ipython-contrib/jupyter_contrib_nbextensions
Python intro Could also point students to the D-Lab, BIDS, and the many courses, bootcamps, etc that use Python on Berkeley's campus.
Seaborn tutorial
It is quite long. Are you hoping for students to use this more as a reference than anything else? If so it might be good to have a sentence to this effect at the beginning (e.g. "you should use ctrl+F
to search for charts you might need.
Latex Double check the renderings online, some of the math wasn't rendering properly. Also are you having students write latex?!
Other thoughts:
Week 2
__init__.py
call formatDataframes()
instead of putting it in the notebooks, so it automagically gets called when people import the package.connectortools
module here. It has some tools that will let you scrub notebooks to remove answers etc. Nice for keeping master / student notebooks separate.That's all I have time for right now, but I'd be down to meet to chat about this in the coming week or two. In general I think this materials is great man, you've noticeably improved the class so far
General I did intend for the tutorials to be linear. Numbering is a good idea. Tables of Contents would be great; I'll take a look at the connector stuff.
Python intro I'll include Berkeley-based materials. It's unfortunate that the short BIDS boot camp isn't offered in the spring.
Seaborn tutorial I was intending this to be a reference. I'll make that more clear.
Latex Yeah, the rendering on GitHub is not so great. The students will be interacting with the notebooks directly on their machines though, where it should render properly. As far as having students write latex: I don't really expect them to, but I will be writing equations in some of the labs, and I wanted students to know how that was done. This tutorial is optional, though, and I'll make sure to indicate that in its title.
Installation Good point! The first day of class has time set aside for installation. I'll be sending the instructions out ahead of time as well. The README is compiled to a pdf on my machine; I wasn't sure about the wisdom of adding it to the repo. The installation instructions will also be sent out as a pdf.
Week 2
The issue is that formatDataframes
is pretty finicky -- it has to be the output of a cell, or otherwise it doesn't work. It's a hacky way of adjusting the styling of a notebook.
Word, I'll take a look at connectortools
for Q/A. I did a once-over after we first talked, and most of it seemed geared for CS classes with assert
test-compatible answers.
Originally, I'd generated the data for lab 1 as a numpy array and then made it into a dataframe. Now that I've moved to just reading in a csv file, the section on numpy arrays is extraneous, and I'll cut it. Apart from that, I do repeat some of the tutorial material in lab 1. I did that intentionally, with the hope of easing the transition a little. Apart from the section on numpy arrays, do you think it's too much?
python intro In future iterations (or maybe this semester if it's really needed), we can put together a Software Carpentry 2-day bootcamp to kick off the course. I bet we could get neuro to pay for food + coffee for a couple days. Could just make it available to the whole neuro community. Have you taught these before? You should!
latex Don't forget that markdown supports latex-like functionality! e.g., $i_{m} = s_0 + l33t$
format dataframes are you calling CSS with that function then? I believe that pandas may have internal ways to change formatting so you don't need to do it yourself. What are you trying to change?
connectortools
I actually wrote many of those functions specifically to avoid requiring that people use automated testing platforms. E.g., you can just wrap any code in a notebook with ### BEGIN SOLUTION
and ### END SOLUTION
, and then generate notebooks where whatever is in between is taken out. Same goes for markdown cells too. Check out the examples folder for a demo of this.
week 2 content etc I don't remember if I sent this to you before, but you should have students checkout the Wickham paper on "tidy data", as well as this youtube video. It's useful stuff!
python intro That would be nice on the future -- or possibly as a component of the HWNI bootcamp? -- but I don't think I have time to put that together for this year.
latex Yeah, I'm only using the built-in Jupyter Latex stuff.
format dataframes Yeah, the function loads some CSS and uses IPython's HTML displaying capabilities to add it to the notebook's style. I stole the code from Brandon Rhodes' pandas tutorial. It makes the indexing cells of the dataframe pink-yellow and the data value cells blue. It's a purely aesthetic thing. If you know of an easier way to achieve the same thing, that'd be great.
Not sure exactly on the style stuff, but this looks promising:
http://pandas.pydata.org/pandas-docs/stable/style.html --
On Fri, Jan 6, 2017 at 11:16 AM Charles Frye notifications@github.com wrote:
python intro That would be nice on the future -- or possibly as a component of the HWNI bootcamp?
latex Yeah, I'm only using the built-in Jupyter Latex stuff.
format dataframes Yeah, the function loads some CSS and uses IPython's HTML displaying capabilities to add it to the notebook's style. I stole the code from Brandon Rhodes' pandas tutorial https://github.com/brandon-rhodes/pycon-pandas-tutorial. It makes the indexing cells of the dataframe pink-yellow and the data value cells blue. It's a purely aesthetic thing. If you know of an easier way to achieve the same thing, that'd be great.
— You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/charlesfrye/AppliedStatisticsForNeuroscience/issues/7#issuecomment-270981615, or mute the thread https://github.com/notifications/unsubscribe-auth/ABwSHZyut0sU2Zx1A863jKXOUQu7CAL4ks5rPpMcgaJpZM4LXM-x .
FYI, connectortools
has mne as a dependency, but that's not indicated anywhere that I can see on the repo.
ah that's a good point - I should probably remove that dependency TBH. It's just to use their file fetching funcitons. --
On Fri, Jan 6, 2017 at 11:47 AM Charles Frye notifications@github.com wrote:
FYI, connectortools has mne as a dependency, but that's not indicated anywhere that I can see on the repo.
— You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/charlesfrye/AppliedStatisticsForNeuroscience/issues/7#issuecomment-270988761, or mute the thread https://github.com/notifications/unsubscribe-auth/ABwSHcGUhJt_12hgUCRTCRuONgHjLcT7ks5rPppJgaJpZM4LXM-x .
In Week 01, we'll cover the major tools we'll be using for the course: Python, Jupyter, Pandas, and Seaborn. I've also included a quick reference on LaTeX and a placeholder for Numpy, in case we want to front-load that material.
I'd appreciate someone else's eyes going over the tutorials, though that someone else might just be future Charles.