Skip to content
This repository was archived by the owner on Jun 25, 2018. It is now read-only.

Commit 56c8711

Browse files
committed
Add course feedback, minutes from meeting on 23 Septembre 2016 and action points for next training.
1 parent 25d1073 commit 56c8711

File tree

2 files changed

+88
-20
lines changed

2 files changed

+88
-20
lines changed

feedback.md

+73
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
# Feedback
2+
3+
## Trainers
4+
- _Adrian Baez-Ortega_
5+
- **Tomás Di Domenico**
6+
- **Mareike Herzog**
7+
- **Mukarram Hossain**
8+
- _Maire Lawlor_
9+
- Sergio Martinez Cuesta
10+
- **Anne Pajon**
11+
- Cristian Riccio
12+
13+
**Present at the meeting after training on 22-23 September 2016**
14+
15+
## Discussion
16+
17+
- convert to python 3
18+
- split course into beginner/intermediate/advance
19+
- other python libraries to cover like pandas
20+
- course feedbacks
21+
22+
**Convert to Python 3** — for sure
23+
- BioPython, pandas all migrated
24+
- anaconda is 3 by default
25+
26+
**Add linux command introduction** — basic command and tree representation; it is essential to run python from a script on the command line
27+
28+
**Better introduction** — on why we use python in a notebook, on the command line and in file explaining how we run things
29+
30+
**Contents to drop**
31+
- file I/O should stay but remove reading XML/PDB format only keep delimited files and maybe JSON
32+
- drop system call
33+
- drop exceptions
34+
35+
**Contents to add**
36+
- way of searching into python library documentation for string
37+
- independent learners
38+
- bonus exercise — use pandas to parse this file to keep them busy
39+
- add BioPython exercise for the reverse complement function by writing second function using BioPython doing the same thing
40+
41+
**Contents to re-arrange**
42+
- restructure the second day
43+
- section 4 (1) file then (2) command line
44+
- move functions before section 2
45+
46+
**How to better stimulate the learner**
47+
- better explanation on how to solve each exercises by splitting problems into smaller chunks
48+
- (1) explain how to solve an exercise by starting with a blank page and comments to divide the problem in small chunks
49+
- (2) search for solution on internet either on forum or in python library
50+
- (3) program together using functions to solve exercises
51+
- better manage expectations by being clearer on objectives
52+
- build connected exercises not disconnected ones, build upon learning — start simple and increase complexity
53+
- write code in group of 2 or 3; one function each to solve one bigger problem; explain and make them sure to write together a bigger program; then exchange code and progress to next level
54+
- bring your questions
55+
56+
## Actions
57+
58+
> Meeting once a month — to get running.
59+
60+
**Next course** — December 16
61+
- Keep exercises for sure
62+
- Minimize the lecture part
63+
- Make them search for solution
64+
- Assignment — like workshop couple of urls
65+
- Create 3 levels of exercises beginner/intermediate/advance
66+
67+
**Checklists for December course**
68+
- [ ] Anne to re-organize course and add BioPython exercise
69+
- [ ] Tomás to convert code to Python 3
70+
- [ ] Christian to correct typos
71+
72+
Christian sent his feedback by email — exceptions and reading PDB and XML files is too advanced for a beginner course.
73+
There are a few typos in the course that I can correct if somebody tells me how.

TOC.md renamed to planning.md

+15-20
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,15 @@
1-
An Introduction to Solving Biological Problems with Python
2-
================================================================================
1+
# Planning and ideas
32

4-
Divided into 4 sessions over two days.
3+
'An Introduction to Solving Biological Problems with Python' training can be divided into 4 sessions over two days.
54

65
1. DAY 1. MORNING. SESSION 1.: running the Python interpreter, variables and types, arithmetic, basic data structures
76
2. DAY 1. AFTERNOON. SESSION 2.: logic & flow control, loops, exceptions, importing libraries
87
3. DAY 2. MORNING. SESSION 3.: custom functions, variable scope, some biological examples
98
4. DAY 2. AFTERNOON. SESSION 4.: dealing with files, parsing file formats, introduction to BioPython
109

11-
DAY 1. MORNING. SESSION 1.
12-
--------------------------------------------------------------------------------
10+
## DAY 1. MORNING. SESSION 1.
1311

14-
### Part 1. [Gabor]
12+
### Part 1.
1513

1614
INTRO: the python programming language & python interpreter (command line)
1715
Python is free, cross-platform, widely used, well documented & well supported.
@@ -44,7 +42,7 @@ doing so can mask many errors.
4442
* [1.1] Print DNA sequence from amino acid one.
4543
```
4644

47-
### Part 2. [Anne]
45+
### Part 2.
4846

4947
As well as the basic data types we introduced, python has several ways of storing
5048
a collection of values. We are going to see four of them: tuples, lists, sets and
@@ -123,10 +121,9 @@ encode to print out the name of the amino acids of a DNA sequence
123121
>>> Use dictionaries to store key/value pairs.
124122
```
125123

126-
DAY 1. AFTERNOON. SESSION 2.
127-
--------------------------------------------------------------------------------
124+
## DAY 1. AFTERNOON. SESSION 2.
128125

129-
### Part 1. [Gabor]
126+
### Part 1.
130127

131128
INTRO: program control and logic - code blocks: if/loops/exceptions.
132129
Real power of programs comes from repetition and selection. Why indentation?
@@ -169,7 +166,7 @@ Loops let us do things many times. Collections let us store many values together
169166
[2.2] Calculate the GC content of a DNA sequence
170167
```
171168

172-
### Part 2 (after break) [Anne]
169+
### Part 2 (after break)
173170

174171
Python provides two very important features to handle any unexpected error in your
175172
Python programs and to add debugging capabilities in them: exceptions and assertions.
@@ -199,10 +196,9 @@ An exception is a Python object that represents an error.
199196
>>> Use if and else to make choices.
200197
```
201198

202-
DAY 2. MORNING. SESSION 3.
203-
--------------------------------------------------------------------------------
199+
## DAY 2. MORNING. SESSION 3.
204200

205-
### Part 1. [Anne]
201+
### Part 1.
206202

207203
INTRO: function basics and definition
208204
A programming language should not include everything anyone might ever want
@@ -235,7 +231,7 @@ In python it is done using the keyword 'def'.
235231
[3.3] Write a function that counts the number of each base found in a DNA sequence
236232
```
237233

238-
### Part 2. [Gabor]
234+
### Part 2.
239235

240236
- variable scope: globals vs within blocks
241237
- advanced topics: anonymous functions (lambda); functions as values; nested functions
@@ -259,10 +255,9 @@ BIO examples
259255
>>> Remember that a function is really just another kind of data.
260256
```
261257

262-
Day 2. AFTERNOON. SESSION 4.
263-
--------------------------------------------------------------------------------
258+
# Day 2. AFTERNOON. SESSION 4.
264259

265-
### Part 1. [Anne]
260+
### Part 1.
266261

267262
INTRO: In this session we cover 2 widely used ways of reading data into our
268263
programs, via the command line and by reading files from disk.
@@ -286,7 +281,7 @@ its length and GC content
286281
[4.1c] Use the argparse library to do the same exercise as above
287282
```
288283

289-
### Part 2. [Gabor]
284+
### Part 2.
290285

291286
- file objects
292287
- mode modifiers
@@ -335,7 +330,7 @@ on a separate line
335330
then modify your script to only print python files
336331
```
337332

338-
### Part 3. [Anne]
333+
### Part 3.
339334

340335
- using BioPython
341336

0 commit comments

Comments
 (0)