Skip to content

Commit

Permalink
Add weeks
Browse files Browse the repository at this point in the history
  • Loading branch information
matthew-brett committed Jan 1, 2024
1 parent 368ca34 commit 6c9752f
Show file tree
Hide file tree
Showing 17 changed files with 1,016 additions and 4 deletions.
23 changes: 19 additions & 4 deletions schedule.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,23 @@ description: The weekly event schedule.

# Weekly Schedule

Schedule TBA
* [Week 1, session 1](week1_session1.md)
* [Week 1, session 2](week1_session2.md)
* [Week 2, session 1](week2_session1.md)
* [Week 2, session 2](week2_session2.md)
* [Week 3, session 1](week3_session1.md)
* [Week 3, session 2](week3_session2.md)
* [Week 4, session 1](week4_session1.md)
* [Week 4, session 2](week4_session2.md)
* [Week 5, session 1](week5_session1.md)
* [Week 5, session 2](week5_session2.md)
* [Week 6, session 1](week6_session1.md)
* [Week 6, session 2](week6_session2.md)
* [Week 7, session 1](week7_session1.md)
* [Week 7, session 2](week7_session2.md)
* [Week 8, session 1](week8_session1.md)
* [Week 8, session 2](week8_session2.md)

{% for schedule in site.schedules %}
{{ schedule }}
{% endfor %}
## Other pages

* [Advice on editors](advice_on_editors.md)
112 changes: 112 additions & 0 deletions week1_session1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
The first session is the Monday session. The second session is the Thursday
session.

These are the notes for the Monday session.

We will update them before and after the session, to please keep checking back
for updates. Just refresh the page in your browser to get updates.

The Zoom link for all sessions is
<https://numfocus-org.zoom.us/j/89458437731?pwd=eTF0V252bHlKOXBucnBUWlVBSm9uUT09>.

## Recording

[Recording of Monday Week 1 session
1](https://numfocus-org.zoom.us/rec/share/nxcgD4PGsc-RI3QdTAiR2GBU1xkMrB5CPmf-sPSC52FSqTkXW7T55CPH1gS7lSSZ.PINmaKGVNAmPXOi-)

## Schedule and plan

- We will be referring often to the [textbook](https://textbook.nipraxis.org).
- Hello and welcome.
- Thanks to the [Chan Zuckerberg
Initiative](https://chanzuckerberg.com/eoss/proposals/strengthening-community-and-code-foundations-for-brain-imaging/).
- [Surviving the
computer](https://textbook.nipraxis.org/surviving_computers.html). See video link below.
- Machinery:
- <https://textbook.nipraxis.org>
- <https://learn.nipraxis.org>
- <https://hub.nipraxis.org> and the Jupyter notebook.
- <https://github.com/nipraxis>
- About the project.
- We will gradually move away from notebooks.
- [Using Jupyter notebooks](https://textbook.nipraxis.org/using_jupyter.html)
and [more on Jupyter
notebooks](https://textbook.nipraxis.org/more_on_jupyter.html)
- For reference: [Very fast introduction to
Python](https://textbook.nipraxis.org/introducing_python.html)


## For homework

If you need to catch up on Python and Numpy, you have a double-dose of
homework this week. In particular, you really will need to do the second
section here, to get fluent in basic Python and Numpy. If you are already fluent, you only need to do the first section.

Any problems, email <matthew.brett@gmail.com>, I will point you to someone else
who can help if I can't help you.

### For everyone: surviving computer, installing on your own machine

Make sure you have watched:

<iframe title="Surviving the computer" src="https://player.vimeo.com/video/693542789?h=63ccfc6dfa" width="640" height="360" frameborder="0" allowfullscreen></iframe>

Next:

* Check your knowledge with the [fast introduction to
Python](https://textbook.nipraxis.org/brisk_python.html).
* [Install Python and required libraries on your
computer](https://textbook.nipraxis.org/installation.html). Make sure you
have run the install check at the end of that page.

That's all for those of you who are comfortable with Python and Numpy. See below for those of you who need to catch up.

### If you need practice with Python or Numpy

If you don't know Python well, we strongly suggest you do these exercises to
catch up, otherwise the rest of the course will be too fast. Make sure, too, that you've read the fast introduction to Python above.

#### Python

If you are new to Python, do the [expressions and statements
exercise](https://hub.nipraxis.org/hub/user-redirect/git-pull?repo=https%3A//github.com/uob-cfd/exprs_states&subPath=exprs_states.ipynb),
to get into the swing of things.

Next, do these exercises from the [Google Python
class](https://developers.google.com/edu/python/). There are links in the
exercises to the sections to read to revise the ideas you need.

- [string1
exercise](https://hub.nipraxis.org/hub/user-redirect/git-pull?repo=https%3A//github.com/nipraxis/google_string1&subPath=string1.ipynb)
- [list1
exercise](https://hub.nipraxis.org/hub/user-redirect/git-pull?repo=https%3A//github.com/nipraxis/google_list1&subPath=list1.ipynb)

We also suggest you try the slightly more advanced exercises:

- [string2
exercise](https://hub.nipraxis.org/hub/user-redirect/git-pull?repo=https%3A//github.com/nipraxis/google_string2&subPath=string2.ipynb)
- [list2
exercise](https://hub.nipraxis.org/hub/user-redirect/git-pull?repo=https%3A//github.com/nipraxis/google_list2&subPath=list2.ipynb)

#### Numpy

(Re-)Read the [introduction to
Numpy](https://textbook.nipraxis.org/numpy_intro.html).

For a fuller introduction to Numpy, please see [the Scientific Python Numpy tutorial](https://lectures.scientific-python.org/intro/numpy/index.html).

Specifically, see:

* The [numpy array
object](https://lectures.scientific-python.org/intro/numpy/array_object.html);
* [Array
operations](https://lectures.scientific-python.org/intro/numpy/operations.html).
* If you know Matlab, you might want to look over this page on [Numpy for
Matlab users](https://numpy.org/doc/stable/user/numpy-for-matlab-users.html).

Make sure you can do the [arrays
exercise](https://hub.nipraxis.org/hub/user-redirect/git-pull?repo=https%3A//github.com/nipraxis/arrays&subPath=arrays.ipynb)

## The end

That's it for this session.
39 changes: 39 additions & 0 deletions week1_session2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
The *second session* is the Thursday session.

These are the notes for the second session, for week 1.

We will update them before and after the session, to please keep checking back for updates. Just refresh the page in your browser to get updates.

The Zoom link for all sessions is
<https://numfocus-org.zoom.us/j/89458437731?pwd=eTF0V252bHlKOXBucnBUWlVBSm9uUT09>.

## Recording

[Week 1 session
2 recording](https://numfocus-org.zoom.us/rec/share/KzZxz_u4kOloz-bjfa9xFwEkxmoR_NknZo9un-wjlpuLnGwLnAqApLgRkyx5-jVk.P-Zk3Vcl31LMqkhq)

## Schedule and plan

- Please log on to <https://hub.nipraxis.org>.
- About homework:
- It will appear at the bottom of the session 1 page for each week.
- We will depend on you having done the homework for the _following week_.
- Reminder about the project
- [Surviving the
computer](https://textbook.nipraxis.org/surviving_computers.html). See
[video](https://player.vimeo.com/video/693542789?h=63ccfc6dfa) (also linked from Session 1 page.
- [Pathlib](https://textbook.nipraxis.org/pathlib.html)
- Skip through the [introduction to
Numpy](https://textbook.nipraxis.org/numpy_intro.html)
- The OKpy testing system and a [practice with arrays
exercise](https://hub.nipraxis.org/hub/user-redirect/git-pull?repo=https%3A//github.com/nipraxis/array_practice&subPath=array_practice.ipynb)

## For homework

See the [Week 1 session 1 page](https://apps.learn.nipraxis.org/learning/course/course-v1:Nipraxis+NI1+2023_NI1/block-v1:Nipraxis+NI1+2023_NI1+type@sequential+block@a292732b08514bbaa13ca5f862182dcd/block-v1:Nipraxis+NI1+2023_NI1+type@vertical+block@73fc602fe7034cd1913edd805920cf7e)

In general, look for the homework in the session 1 page for each week.

## The end

That's it for this session.
43 changes: 43 additions & 0 deletions week2_session1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
## Recording

[Week 2 session
1](https://numfocus-org.zoom.us/rec/share/4DcuAFZduwAT9b-VllUxYlDnwdPq7air4JSb6y6uMo9wehVwJejysulxj12kQ69F.s8CFqaGB5bwagTsp)

### Arrays, images and plotting

* [What is an image?](https://textbook.nipraxis.org/what_is_an_image.html)
* [Boolean arrays](https://textbook.nipraxis.org/boolean_arrays.html)
* [Reshape and 2D](https://textbook.nipraxis.org/reshape_and_2d)
* [Arrays and images](https://textbook.nipraxis.org/arrays_and_images)
* [Camera
exercise](https://hub.nipraxis.org/hub/user-redirect/git-pull?repo=https%3A//github.com/nipraxis/camera&subPath=camera.ipynb)

## Homework

Make sure you've done the exercises from the sessions:

* Session 1:
* [Camera](https://hub.nipraxis.org/hub/user-redirect/git-pull?repo=https%3A//github.com/nipraxis/camera&subPath=camera.ipynb)
* Session 2:
* [Anatomical
exercise](https://hub.nipraxis.org/hub/user-redirect/git-pull?repo=https%3A//github.com/nipraxis/anatomical&subPath=anatomical.ipynb)
* Consider also: [Arteries
exercise](https://hub.nipraxis.org/hub/user-redirect/git-pull?repo=https%3A//github.com/nipraxis/arteries&subPath=arteries.ipynb)

In the next session, we will be starting with Git, and to work on your own
computer.

Read, mark, learn and inwardly digest the [curious
git](https://matthew-brett.github.io/curious-git/) tutorial.

We think this will take you 90 minutes, at a careful read, and you will need
to read it carefully, in order to benefit from it.

If you do read it carefully, you will be investing in your own future
productivity — Git version control is a powerful way to work more efficiently,
especially in collaboration, and you need to understand the way that Git
**thinks**, in order to use Git with fluency and efficiency.

## That's it.

That's it for this session.
25 changes: 25 additions & 0 deletions week2_session2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
## Recording

[Week 2 session
2 recording](https://numfocus-org.zoom.us/rec/share/dG612zhE7qU4sE_Wo2oyOmFnkjxqY3sBcrF7kijixQ3zoVRST4__StpYv47bBQ.EsD2R2-D6ZCERmoj)

## Schedule

## Three-dimensional arrays

* [Arrays in 3D](https://textbook.nipraxis.org/arrays_3d)
* [Images in 3D](https://textbook.nipraxis.org/images_3d)
* [Reshaping and three
dimensions](https://textbook.nipraxis.org/reshape_and_3d.html)
* [Anatomical
exercise](https://hub.nipraxis.org/hub/user-redirect/git-pull?repo=https%3A//github.com/nipraxis/anatomical&subPath=anatomical.ipynb)
* If you have time: [Arteries
exercise](https://hub.nipraxis.org/hub/user-redirect/git-pull?repo=https%3A//github.com/nipraxis/arteries&subPath=arteries.ipynb)

## For homework

See the page for session 1.

## That's it.

That's it for this session.
102 changes: 102 additions & 0 deletions week3_session1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
## Recording

[Week 3 session 1
recording](https://numfocus-org.zoom.us/rec/share/1DWWt27ub3hc7RX4rj4dy6yn8iFDPKHQxYr8rvInUvl_zwycUIwqvKWMTE0CSdXc.Xvs5ZTX5xE0D3TgK?startTime=1692022041000)

## Schedule

* Again, towards the project.
* Bracketing Git, Github and working on your own computer.

### Some background

You will need to have followed the [installation
instructions](https://textbook.nipraxis.org/installation.html).

In particular, you are about to use your terminal application:

* [Powershell on
Windows](https://textbook.nipraxis.org/installation_on_windows.html#powershell)
* [Powshell on
Mac](https://textbook.nipraxis.org/installation_on_mac.html#terminal-app)

### Modules and functions

We start with the laptop way.

* [on_modules](https://textbook.nipraxis.org/on_modules).

### FMRI artifacts

* [Principles of FMRI video](https://www.youtube.com/watch?v=7Kk_RsGycHs)
* [Radiopedia article in MRI
artifacts](https://radiopaedia.org/articles/mri-artifacts-1)
* [Common MRI artifacts and how to fix
them](https://gate.nmr.mgh.harvard.edu/wiki/whynhow/images/3/39/Artifacts_why_n_how_dec_14_2017_V7.pdf)

The above don't focus much on fMRI (some coverage of susceptibility
distortion), but here are some MRI quality control runs that show some
interesting effects:

* [Spin history artifact, motion spike, AP
ghosting](https://mriqc.s3.amazonaws.com/artifacts/sub-ds045s409874_task-machinegame_run-04_bold.html)
* [Ringing, bands in
carpetplot](https://mriqc.s3.amazonaws.com/abide/sub-50039_task-rest_bold.html)
* [Ghosting, possible hardware
failure](https://mriqc.s3.amazonaws.com/abide/sub-51489_task-rest_bold.html)
* [LR ghosting evident in background
noise](https://mriqc.s3.amazonaws.com/abide/sub-51146_task-rest_bold.html)
* [Hardware
failures](https://mriqc.s3.amazonaws.com/artifacts/sub-arielle02_task-uknown_bold.html)
* [Electromagnetic
spikes](https://mriqc.s3.amazonaws.com/artifacts/sub-ben01_task-unknown_bold.html)

## For homework

### Using Git

Watch the following two videos introducing Git in use, but relating what you
see to the terms in the [curious
git](https://matthew-brett.github.io/curious-git/) tutorial from last week.

I'm referring to the "Git parable" in the videos, which is a similar
introduction to the [Curious Git
tutorial](https://matthew-brett.github.io/curious-git) from last week's
homework — but the two tutorials take a very similar track, so you can
consider them interchangeable.

<iframe src="https://player.vimeo.com/video/121579300?h=ed8db39d7e" width="640" height="438" frameborder="0" allow="autoplay; fullscreen; picture-in-picture" allowfullscreen></iframe>
<p><a href="https://vimeo.com/121579300">Introduction to the git working tree, repository and staging area</a> from <a href="https://vimeo.com/matthewbrett">Matthew Brett</a> on <a href="https://vimeo.com">Vimeo</a>.</p>

The next video is a little out of date, in that the default branch name in Git
has changed from "master" to "main". You will likely find your copy of Git
calls the default branch "main". For "master" read "main" throughout.

<iframe src="https://player.vimeo.com/video/121579601?h=5b937ff9ff" width="640" height="436" frameborder="0" allow="autoplay; fullscreen; picture-in-picture" allowfullscreen></iframe>
<p><a href="https://vimeo.com/121579601">The links between git commits, and git branches.</a> from <a href="https://vimeo.com/matthewbrett">Matthew Brett</a> on <a href="https://vimeo.com">Vimeo</a>.</p>

### Choosing a text editor

Your second job for this week is to assess and [choose a text
editor](https://textbook.nipraxis.org/choosing_editor.html).

Here we a list of videos on choosing text editors:

* Edited version of [Stéfan van der Walt on
Emacs](https://vimeo.com/740066780) (16 minutes). You might prefer the [full
24 minute version of the conversation here](https://vimeo.com/702404210).
* [Pamphile Roy on PyCharm](https://vimeo.com/702001724) (16 minutes).
* Edited version of [Ilhan Polat on Spyder](https://vimeo.com/702215618) (14
minutes). You can also watch the [54 minute full conversation with Ilhan](https://vimeo.com/706101324).
* [Bhuvak Kalra on VSCode](https://vimeo.com/702402879) (16 minutes).
* Edited version of [Paul Ivanov on
Vim](https://vimeo.com/740121174) (15 minutes). You can watch the [full 43
minute conversation with Paul Ivanov here](https://vimeo.com/704733982). You
might watch the full version if you interested in more on how you know when
you have the right editor, how long it takes to get going with Vim.

Please take time for this task, and investigate your options.

## That's it.

That's it for this session.
20 changes: 20 additions & 0 deletions week3_session2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
## Recording

[Week 3 session 2 recording](https://numfocus-org.zoom.us/rec/share/YIQUaJjjBQg2HCLm1VbXJ4hPE2T3EeGuMjSMYBw--VajunFmm_PWXKuZwAEiUuVj.8GMzoJ6lXQZHsrMj)

## Schedule and plan

* More towards the first project.
* Bracketing Git, Github and working on your own computer.

### Modules and functions

More on the laptop way.

* [on_modules](https://textbook.nipraxis.org/on_modules).

We will come to the practice later (week 4).

## That's it.

That's it for this session.
Loading

0 comments on commit 6c9752f

Please sign in to comment.