====================== 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