Here is a summary about what content we should cover:
Adam Harding
Looks mostly sensible to me. A few of us might have useful suggestions to substitute or augment. Software Carpentry's intro Python appears much improved since I last checked. I like the scipy lecture material OK as a crash courses on tools & topics. We can discuss further.
\
In general, the breadth of topics and non-trivial depth required rightly identify this as an applied topic unsuitable for unprepared participants. I'd expect that's typically supplied by sequential material for 2~3 semesters in 2~3 distinct tracks, probably undergrad work in engineering (or related), possibly bolstered / shored up with early work in whatever neuroscience program. It's great they're willing to include "undergraduates" among the target audience, but I think it's reasonable taking that to imply "reasonably well initiated participants" without undertaking to build the whole edifice from scratch. I'd want to try limiting scope and staying targeted by working backward from the the course's listed topics.
@jdkent
What we've ran into and what other groups have ran into is typically being over ambituous with computer science/programming fundamentals.
\
Expected Audience:
Primarily Neuroscience/Psychology graduate students
Have taken a statistics course (know ttests/ANOVAs, may know that ttests/ANOVAs are special cases of linear regression)
Modified/read scripts written in matlab/R (less likely in python)
No formal training in computer science
reading/writing code for 6 months - 2 years
have leveraged linear algebra in their work without realizing it
likely have been introduced to differential equations at some point, but it is either hazy or forgotten
For the purpose of neuromatch, I would prioritize getting participants comfortable with python.
The reasons for this are:
\
1) Reading/writing python will be the primary form of interactivity for participants at neuromatch academy
2) A little easier to get away with conceptual misunderstandings of statistics and math and follow along, but more difficult to not understand variables and functions while learning other material.
3) programming provides immediate utility to many participants. Statistics and math are immensely useful, but many participants will be using a toolbox to ensure those calculations are carried out correctly for them without having to understand too much. Programming can help participants solve some immediate problems of running their toolbox on multiple datasets automatically, or filtering data.
4) I view programming as a gateway into being more interested in statistics and math, for people that are more averse to statistics and math (like me!). This may be only true for me, but I found the interactivity of programming made me more interested in the abstract concepts of statistics and math. Programming helped make stats and math more concrete for me since I could simulate data to confirm intuitions and trust I didn't make certain mathematical errors when performing certain operations.
\
Basically, just as learning to read is required to appreciate the work of Jane Austen, I view learning programming fundamentals as a path to appreciate Baye's Theorem (especially to those who don't identify as a "statsy/mathy" person).
\
The primary tool participants will be using are through google colab notebooks, so we should introduce python through that tool (which will be nice since no one will have to install anything).
Adam Harding
Not surprising to hear lack of programming facility is a common hurdle. Ages since I checked, but I've seen intro CS courses allowing non-majors for gen ed requirements start carrying a warning to the effect "most students consider this course extremely time consuming".
\
I've started trying out various material using Colab. Thoughts so far: probably useful to cherry-pick/curate suggestions from intro material, provide focus, and ensure sufficient time in the shallow early part of the learning ramp. Basic plotting/visualization could be a bit of a detour but doing it early would probably be a win for completeness and uptake.
\
SciPy provides many segues into topics. Currently thinking about self-contained material for applied topics (ODE/imaging/stats/inference?). I'd generally defer to mentors (Hans; plus TAs, RAs?) for suggestions on topics they feel are particularly invited preparation for Neuromatch goals.
\
Focusing on Colab narrows scope to exclude UIowa-specific services, so things e.g. the RS Intro to HPC presentation would be asides TBD.
Here is a summary about what content we should cover:
Adam Harding
@jdkent
Adam Harding