charlesfrye / AppliedStatisticsForNeuroscience

Materials for UC Berkeley Neuroscience 299
52 stars 17 forks source link

Review Tech Tools Tutorials #7

Closed charlesfrye closed 7 years ago

charlesfrye commented 7 years ago

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.

choldgraf commented 7 years ago

when is the 1st day of class?

charlesfrye commented 7 years ago

Jan 18

charlesfrye commented 7 years ago

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 .

choldgraf commented 7 years ago

See here for a similar notebook that quickly highlights some computational things students / instructors often use.

choldgraf commented 7 years ago

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?!

choldgraf commented 7 years ago

Other thoughts:

choldgraf commented 7 years ago

Week 2

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

charlesfrye commented 7 years ago

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

choldgraf commented 7 years ago

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!

charlesfrye commented 7 years ago

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.

choldgraf commented 7 years ago

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 .

charlesfrye commented 7 years ago

FYI, connectortools has mne as a dependency, but that's not indicated anywhere that I can see on the repo.

choldgraf commented 7 years ago

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 .