Skip to content
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

Lectures/Course Outline Discussion #3

Open
linamnt opened this issue Feb 2, 2019 · 2 comments
Open

Lectures/Course Outline Discussion #3

linamnt opened this issue Feb 2, 2019 · 2 comments
Labels
Brainstorm Issues to discuss.

Comments

@linamnt
Copy link

linamnt commented Feb 2, 2019

Some quick brainstorming after taking into account what @lwjohnst86 @SaraMati discussed in UofTCoders/council#286

  1. Programming in Python:
    • Basics (data structures, functions, looping, if/else, booleans etc.)
    • OOP (when to use classes, benefits of modularity, methods, attributes)
    • Exploratory Data Analysis (including visualization)
      • pandas, seaborn, matplotlib
    • high dimensional biomedical data: best practices
    • Statistics (scipy.stats, numpy)
    • look through video lectures from bioinformatics.ca for more ideas
  2. Version Control + Project Management Workflow
    • using Git and GitHub generally
    • working collaboratively + reproducibly using version control and other good practices
    • set up their project repo
    • testing their code
  3. Making a scientific product (paper, poster, jupyter notebook for blogs or supplement to technical papers):
    • LaTeX, Markdown, Pandoc etc. (note, we know we should focus on only one of these and stay consistent for the course, just listing options)
  4. Guest Lectures for second half of course professors or post-docs/grad students with established scientific workflows for specific cases (e.g. fMRI image analysis, neuronal image segmentation, network analysis/connectomics, biophysical/electrophysioogical modelling (single cell, networks etc), RNAseq analysis, EEG analysis)
@SaraMati SaraMati closed this as completed Feb 2, 2019
@SaraMati SaraMati reopened this Feb 2, 2019
@lwjohnst86
Copy link
Member

Great that this is getting going!

I think there should also be topics on the lifecycle of an analysis project, from inception to publication... and how to do it in a reproducible and openly scientific way. This relates to some things I want to develop more, so I'll add more thoughts when I've get more into these topics, probably more later in the month.

@lwjohnst86 lwjohnst86 added the Brainstorm Issues to discuss. label Feb 14, 2019
@linamnt
Copy link
Author

linamnt commented Feb 21, 2019

As an aside, on the topic of OOP:
We should probably not do a lecture on OOP too early on. If this is a neural data science course, I don't see many actual use cases when dealing with data exploration and stats etc.
It of course comes in handy when you're building models or doing very specific analyses with unconventional datatypes but these are going to come later in the course anyways.

We can first introduce it in terms of using packages like pandas or scikit-learn which are object oriented, they have methods, attributes etc, we can mention it, but not sure we need to teach separately.

I would rather first focus on the data workflow than teach the entire concept of OOP which can get a bit hairy. When/if we do introduce classes, methods, inheriting from parent classes etc. we should come up with very specific but understandable examples where we have good reasoning for why we're using OOP for our analyses/simulations.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Brainstorm Issues to discuss.
Projects
None yet
Development

No branches or pull requests

3 participants