Lesson Plan To Teach Python For Absolute Beginners
4
3
Entering edit mode
10.1 years ago
ChIP ▴ 600

Hi!

This question is primarily for programmers, who are involved in teaching python to beginners in their laboratory.

We have been assigned a task to teach python to our biologists, so that they have some hold on programming and can understand the code to tweak and write their own codes. The book which we will be following will be Python for Bioinformatics-Sebasstian Bassi (You may suggest other books as well or web links).

Now the task is how to plan the lessons, we cannot go to slow or too fast but the plan is of dedicated 10 days with atleast 6 hrs each day.

Kindly give suggestions on what would you stress more and what is the best way to plan this project.

This question could also have been asked at stackoverflow, but since, we are looking for tailored solution, I am asking it here.

Thank you in advance.

python • 5.5k views
ADD COMMENT
1
Entering edit mode

Rosalind is a platform for learning bioinformatics, they have an session dedicated to learning Python, and others with bioinformatics problems. You could use it for a "hands-on" practice: rosalind.info/problems/locations/

ADD REPLY
0
Entering edit mode

check also Software Carpentry for Bioinformatics http://software-carpentry.org/v4/index.html

ADD REPLY
0
Entering edit mode

In my opinion, you can spend 1-2 days on syntax explanation, some other basic stuff, how to use terminal etc, explaining in depth some tricky and important parts. They can and should study the syntax of language themselves anyway. Also, give a lot of individual exercises to do on their own, starting from writing i.e. formulas using scripts and finishing with harder examples (matrices?), also use specific examples which they will be using during the work. Books are good, but I know on myself, they are not going to use most of them. Cookbooks and manuals are important, though. The question should be addressed to former biologists as well; a programmer has a certain picture of algorithms, while a biologist might have different, so it is important to understand how they think and be able to deliver your message in a way that they understand and learn how to build the algorithms. I think it is very hard to be able to program individually after 10 days. They need lot of practice. Good luck

ADD REPLY
3
Entering edit mode
10.1 years ago
Gjain 5.8k

Hi ChIP,

Some of my colleagues (biologists) found these below mentioned resources useful:

I hope this helps.

ADD COMMENT
1
Entering edit mode

These are really good and all examples are biologically applicable. Recommended.

ADD REPLY
2
Entering edit mode
10.1 years ago
Asaf 10k

Some thoughts:
1. One important resource I think you should give them: http://python.net/~goodger/projects/pycon/2007/idiomatic/handout.html most importantly the cmdline.py included in it, it's a basic skeleton for every executable file you write. This one is a bit old, you can write something that will be more suitable for python2.7 or 3.
2. The biopython cookbook should also be a good resource to follow.
3. Learning how to read documentation is important, they should be able to read the documentation of biopython (the API)

ADD COMMENT
1
Entering edit mode
10.1 years ago
Ryan Dale 5.0k

Practical Computing for Biologists is a solid text as well. Very clear, practical examples, and includes a lot of extra stuff beyond Python (e.g., importance of plain text files, simple regex, bash, SQL) without being overwhelming.

ADD COMMENT
0
Entering edit mode
10.1 years ago
youngcsong ▴ 100

I think there's already some very useful resources suggested by previous answers.

Since this is for the biologists, I think it might be worth a while to think about some of the situations that the biologists in general go through in their research environments. For example, parsing fasta files, working with databases outside of NCBI and other public databases, etc. The audiences will ask how's certain portion of lesson can be applied to their research.

I also think before you plan the lesson, it might be useful to generate some sort of survey asking what the audiences hope to get out of the python session, and even ask if they had other previous programming experiences outside of the realm of python...it is a quick way of getting to know your audiences a little bit.

Logistics is also another crucial part when organizing sessions. How many people do you expect in these sessions? Would these people be needing a laptop with everything required installed (or do you expect them to bring their own laptop with things installed few days ahead)? These are some of the itineraries, which I think you should also consider.

ADD COMMENT

Login before adding your answer.

Traffic: 1585 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6