Learning outcomes

  • Understand the concept of "programming language"
  • Know and understand the concepts of software programming in the context of Python. A particular focus will be set towards the features most commonly used in the biology and bio-informatics areas, such as :
    • Variables and data types
    • Text manipulation and regular expressions
    • Data structures
    • Control structures
    • Function, recursivity and higher-order functions
    • Testing
    • Input/Output and data files manipulation
    • Iterators and generators
    • Classes, methods and attributes
    • Exceptions handling
  • Know and understand the main characteristics of programming paradigms (imperative, functional, object-oriented) and how some of them are integrated within the Python programming language
  • Be able to elaborate algorithms to solve simple problems, and implement these algorithms in Python

Goals

This course offers an introduction to software programming and its concepts. It concentrates on topics, examples and exercises that are most useful for biologists. It aims at acquiring a practical experience of the concepts through the usage of the Python programming language.

Content

  • Introduction
  • Variables and data types
  • Manipulating text
  • Reading and writing files
  • Lists and loops
  • Functions and testing
  • Conditional structures
  • Regular expressions
  • Dictionaries
  • Programs and I/O
  • Recursivity
  • Complex data structures
  • Object-oriented programming
  • Functional programming
  • Iterators and generators
  • Exceptions handling

Exercices

The exercises sessions will closely follow the progress of the lectures on theory. They will be given on computer in order to provide the necessary tools and best practices for the student to concretely use Python.

Assessment method

Homework (up to 4 exercises to solve individually) during the semester (20% of the final note) + written exam on computer

The exact evaluation methods are subject to changes depending on the practical constraints (for the tests on computer in particular).

Sources, references and any support material

The course is based on the books « Python for Biologists » and « Advanced Python for Biologists » by Dr. Martin Jones, 2013 (CreateSpace Independent Publishing Platform)

Language of instruction

Français