Closed sanjayankur31 closed 3 years ago
All our tutorials were accepted. OCNS have said:
1) To attract CNS2021 participants to your Tutorials, please prepare a detailed description of each of your tutorial in Word (or simple text) that we will be posting on the CNS2021 Tutorials website. Please see this tutorial website for examples from previous years https://www.cnsorg.org/cns-2020-tutorials.
The following items can be included: · (required) Description of the tutorial · Software tools · Tutorial content · Tutorial schedule (especially for full-day tutorial) · References and Background reading · Slides for participants to download and/or links to them
Please email me this information by the latest of June 10th, 2021.
2) As you know already CNS*2021 is going to be an online event. The software tutorials are scheduled for June 28/29th. We need to schedule the tutorials and to prepare the website for advertising them to our participants. For this, I need from you the following:
a) Your order and preferred time for starting each tutorial by June 10^th, 2021. Please give me 2 times that show the time in EST/NY time (this is the official time for the CNS 2021 event) along with your local time. Please keep in mind that we might not be able to accommodate your desired times, but we will try our best. We will schedule some times that can accommodate most of the participants.
b) Since participants can move between different tutorials, it would be good for you to prepare a schedule for each tutorial, in which you let participants know at what time a particular topic will be presented. Half-day tutorials are 3h long. We suggest a break of 10-15 min after 90 minutes of tutorial time.
Full-day tutorials are 5-6h long. We suggest appropriate break times.
So, tasks:
[ ] write up short summary [ ] write lists of pre-requisits [ ] write lists of references
This one will be on 29th (after the bash and git sessions). @joewgraham , does 1300 UTC seem fine for you?
The folder for materials for this session on the new events repo is here: https://github.com/OCNS/SoftwareWG-events/tree/main/20210703-CNS2021/03_python
In different time zones (as for other posts):
It might be useful for the three of us (@sanjayankur31 , @joewgraham , me) to have a short discussion to finalize what we intend to cover in this Python session. Since we have to submit the info by Thursday (10th June), how about meeting sometime on Tuesday (8th June)?
Let's all give it some thought prior to the call, and then decide on a final plan during the call. Since it is a half-day session, we have around 2.5 hours worth of teaching time (after taking out half hour for into, setting up stuff etc).
Sounds good. I can do anytime on Tuesday from 0900 - 1500 BST (0800 - 1400 UTC), and then after 1600UTC till late night if necessary. (Got the weekly lab meeting from 1400-1600UTC)
Do fill in this (overkill for three people maybe :p) to converge on a time that suits all of us. http://whenisgood.net/jxjz97r
@joewgraham : not sure if you received the notifications for the above post. Can you confirm your availability for a call on Tuesday?
Meeting confirmed tomorrow for 16:00 UTC.
Abstract
Python is amongst the most widely used programming languages today, and is increasingly popular in the scientific domain. A large number of tools and simulators in use currently are either implemented in Python, or offer interfaces for their use via Python. Python programming is therefore a very sought after skill in the scientific community.
This tutorial is targeted towards people who have some experience with programming languages (e.g. MATLAB, C, C++, etc), but are relatively new to Python. It is structured to have you quickly up-and-running, giving you a feel of how things work in Python. We shall begin by demonstrating how to setup and manage virtual environments on your system, to help you keep multiple projects isolated. We'll show you how to install Python packages in virtual environments and how to manage them. This will be followed by a quick overview of very basic Python constructs, leading finally to a neuroscience-themed project that will give you the opportunity to bring together various programming concepts with some hands-on practice.
Prerequisites
Participants on Windows have several options to get hold of a shell environment without leaving familiar territory:
Git for Windows <https://gitforwindows.org/>
_, which includes a Git Bash emulation with most of the standard tools you might expect in a Linux/Unix environment, plus of course Git.enable WSL2 <https://docs.microsoft.com/en-us/windows/wsl/install-win10#install-the-windows-subsystem-for-linux>
and install Ubuntu <https://www.microsoft.com/en-gb/p/ubuntu/9nblggh4msv6>
as a virtual machine hosted by Windows. This Linux-on-Windows experience can be a smooth and safe first step into Linux territory.You will find several resources online for info on installing Python. e.g. https://realpython.com/installing-python/
Topics
@sanjayankur31 , @joewgraham .... a first draft. (you should be able to edit the above comment itself to make any changes)
LGTM :+1:
Looks good to me, with an extra :+1: for not forcing anaconda as a default choice.
Re: WSL: when I set it up a half year ago, the Microsoft instruction resulted in WSL1, which then could be updated to 2. WSL2 second step is not actually really required for a basic tutorial, so we could just say "WSL" to indicate either version is fine.
Unless you now get WSL2 by default (I don't really use my Win10 machine).
Post is up, please do proofread and make any necessary modifications:
Info sent to Anca. Let's close this one. Please open new tickets with specific tasks if required.
Tracker ticket for the Python tutorial at CNS*2021
Owners: @sanjayankur31 , @joewgraham , @appukuttan-shailesh , and ?
Initial ideas/curriculum (see meeting logs in #25) :
Beginnerish but not so basic as to explain what variables and functions are.
A simple data analysis task: perhaps give them spike files and run them through some analysis tasks
Setting up and using virtual envs
Getting and using a new package
Using some commonly used packages: numpy, matplotlib
Get information on using the package: published documentation or API documentation using pydoc, help()
Writing good, general, reusable scripts:
File I/O
Plotting with matplotlib (mention modules: seaborn/bokeh/plotly)
Quick revision of Git branching/tagging
Show IDEs: spyder/pycharm/Jupyter
CC: @OCNS/software-wg