======================
Scientific Programming
======================
This course is brought to you by:
- `Stefano Teso `_
**e-mail**: teso _AT_ disi _DOT_ unitn _DOT_ it
**Office hours**: Tuesday, 14:00-15:00, Room 143 Povo 2.
- `Toma Tebaldi `_
**e-mail**: t _DOT_ tebaldi _AT_ unitn _DOT_ it
|
https://drive.google.com/open?id=0B0wILN942aEVOEN5VnBhSWdnWHM
|
Remaining classes:
- 21/11/2016
- 5/12/2016
|
Finals will be on:
- 24/1/2017, 9:00-11:00
- 8/2/2017, 14:00-16:00
|
|
Data
----
The sample data can be downloaded `this link `_.
|
|
Syllabus
--------
The course will offer a (rather thorough) introduction to the **Python**
language, as well as to Python packages relevant to biological and scientific
applications.
We will work with the following Python packages:
#. `biopython `_, for managing biological resources
#. `pandas `_, for dealing with tabular data, statistics and visualization
#. `numpy `_, for general-purpose numerical manipulation
.. note::
There are many more Python packages out there!
Feel free to browse through
`PyPI - the Python Package Index `_ for a
wide selection of packages. At the time of writing, it hosts 89422 distinct
packages!
|
Bibliography
------------
Books:
.. [book1] M. Lutz, *Learning Python* (5th edition), O'REILLY, 2013.
.. [book2] A. Via, K. Rother, A. Tramontano, *Managing Your Biological Data with Python*, CRC Press, 2014.
Other useful material:
- The `Python for Biologists `_ website is tailored for biologists.
- S. Bassi, *A Primer on Python for Life Science Researchers*, PLoS Computational Biology, 2007.
- The official Python website can be found `here `_.
There is also a `Getting Started `_
section you may want to peruse.
- A few `slides `_ on programming languages and the basics of Python.
|
Evaluation
----------
There will be two midterms, consisting of *practical* programming tests on the
two halves of the program, roughly corresponding to the Python language *sans*
external libraries, and the usage of scientific libraries.
There will be an (alternative) final exam, consisting of a *practical*
programming test.
In both the midterms and the final, the sudent will be asked to write a (short)
Python program making use of the technologies presented during the course. The
score will depend on the student's proficiency in Python programming.
|
|
.. include:: shell_basics.rst
|
|
.. include:: python_basics.rst
|
|
.. include:: python_numbers.rst
|
.. include:: python_numbers_solutions.rst
|
|
.. include:: python_strings.rst
|
.. include:: python_strings_solutions.rst
|
|
.. include:: python_lists.rst
|
.. include:: python_lists_solutions.rst
|
|
.. include:: python_tuples.rst
.. include:: python_tuples_exercises.rst
|
.. include:: python_tuples_solutions.rst
|
|
.. include:: python_dictionaries.rst
.. include:: python_dictionaries_exercises.rst
|
.. include:: python_dictionaries_solutions.rst
|
|
.. include:: python_io.rst
.. include:: python_io_exercises.rst
|
.. include:: python_io_solutions.rst
|
|
.. include:: python_complex_statements.rst
.. include:: python_complex_statements_exercises.rst
|
.. include:: python_complex_statements_solutions.rst
|
|
.. include:: python_functions.rst
.. include:: python_functions_exercises.rst
|
.. include:: python_functions_solutions.rst
|
|
.. include:: python_programs.rst
.. include:: python_programs_solutions.rst
|
|
.. include:: python_packages.rst
|
|
.. include:: python_biopython.rst
.. include:: python_biopython_exercises.rst
.. include:: python_biopython_solutions.rst
|
|
.. include:: python_pandas.rst
.. include:: python_pandas_exercises.rst
.. include:: python_pandas_solutions.rst
|
|
.. include:: python_appendices.rst
.. include:: python_appendices_exercises.rst
|
|
.. toctree::
:maxdepth: 2
shell_basics
python_basics
python_numbers
python_numbers_solutions
python_strings
python_strings_solutions
python_lists
python_lists_solutions
python_tuples
python_tuples_exercises
python_tuples_solutions
python_dictionaries
python_dictionaries_exercises
python_dictionaries_solutions
python_io
python_io_exercises
python_io_solutions
python_complex_statements
python_complex_statements_exercises
python_complex_statements_solutions
python_functions
python_functions_exercises
python_functions_solutions
python_programs
python_programs_solutions
python_packages
python_biopython
python_biopython_exercises
python_biopython_solutions
python_pandas
python_pandas_exercises
python_pandas_solutions
python_appendices
python_appendices_exercises