Open writing projects/Scientific Programming with Python and Subversion/Outline: Difference between revisions

From OpenWetWare
Jump to navigationJump to search
intro section flush out
svn section flush
Line 1: Line 1:
== Outline ==
== Outline ==
* sections marked with '(modular)' can be re-written using a different technology (i.e. git instead of svn)


=== Introductory remarks ===
=== Introductory remarks ===
Line 10: Line 12:
** Some bioinformatics theme - maybe use an example from one of the [http://www.ncbi.nlm.nih.gov/Coffeebreak/ NCBI coffee breaks]
** Some bioinformatics theme - maybe use an example from one of the [http://www.ncbi.nlm.nih.gov/Coffeebreak/ NCBI coffee breaks]


1. Source Control Management with Subversion - why need an SCM for science, SCM is not only for code (data, plots, writing papers, etc.), introduction to subversion (what is a repository, how to set one up, how to make basic commits, retrieving a past version, seeing diffs, collaboration using svn, advanced topics - branching and merging)
=== Source Control Management with Subversion ===
 
* What is source control?
** like Word 'track changes' or wiki 'history' but for all the files in a project. 
** A way to keep a history of every step in a process.
** Not only for computer code, but for data, plots, paper manuscripts, etc.
* Introduction to subversion (modular)
** What is a repository
** How to create a repository
** How to make bosic commits
** Seeing differences between versions
** Retrieving past versions
** Collaboration using subversion
* Advanced Topics
** Branching and Merging


2. An Introduction to Python - the basics here
2. An Introduction to Python - the basics here

Revision as of 00:33, 22 March 2008

Outline

  • sections marked with '(modular)' can be re-written using a different technology (i.e. git instead of svn)

Introductory remarks

  • Why this book
    • motivation - lots of training in what science to do with computers, but little training in how to do it
    • for beginners - assumes no prior knowledge, introduces tools as they are needed in a typical scientific investigation using computers
    • for experienced scientists - introducing new tools to do some of these tasks
    • goal - to make managing projects easier, but more importantly to promote good scientific practice through these methods
  • Introduce scientific themes throughout the book

Source Control Management with Subversion

  • What is source control?
    • like Word 'track changes' or wiki 'history' but for all the files in a project.
    • A way to keep a history of every step in a process.
    • Not only for computer code, but for data, plots, paper manuscripts, etc.
  • Introduction to subversion (modular)
    • What is a repository
    • How to create a repository
    • How to make bosic commits
    • Seeing differences between versions
    • Retrieving past versions
    • Collaboration using subversion
  • Advanced Topics
    • Branching and Merging

2. An Introduction to Python - the basics here

3. Making scientific plots with python - introduction to graphics

4. Crunching numbers with python - numpy, maybe bio examples

5. Unit testing for scientists - introduction to unit testing, why do it, how structure the tests, how can do it with nose

6. Complete case study - wrapping it all together

7. Advanced topic - using SWIG and psyco to speed up python code