Introduction to Programming
- UE code ISBMM101
-
Schedule
30 30Quarter 1
- ECTS Credits 6
-
Language
English
Understand the concept of "programming language"
Know and understand programming concepts within the Python language, with particular attention to features frequently used in biology and bioinformatics. The course is organized into two coherent and progressive blocks:
Block 1 — Fundamentals
Variables and values (native types, strings)
String manipulation
Basic data structures (lists, dictionaries)
Control structures (conditions, loops)
Functions
Input/output and file handling
Block 2 — Advanced topics and object-oriented programming
Regular expressions
Higher-order functions and recursion
Testing
Complex data structures
Classes, attributes and methods
Exception handling
Generators and iterators
Functional programming
Know and understand the main characteristics of programming paradigms (imperative, functional, object-oriented) and how some of these are present within the Python language
Be able to design correct and rigorous algorithms to solve simple problems, and to implement these algorithms in Python
This course offers an introduction to software programming and its concepts, with content, examples, and exercises geared toward the needs of biology. It aims to give students a practical mastery of these concepts through the use of the Python language. The course is structured in two parts of equal weight: a first part devoted to the fundamentals of procedural programming, and a second part devoted to more advanced concepts as well as object-oriented programming.
Part 1 — Fundamentals
Introduction
Variables and value types
Text manipulation
Lists and loops
Conditional structures
Functions and testing
Reading and writing files
Dictionaries
Part 2 — Advanced topics and object-oriented programming
Regular expressions
The program and its inputs/outputs
Recursion
Complex data structures
Object-oriented programming
Functional programming
Iterators and generators
Exception handling
Introduction
Variables and value types
Text manipulation
Lists and loops
Conditional structures
Functions and testing
Reading and writing files
Dictionaries
Regular expressions
The program and its inputs/outputs
Recursion
Complex data structures
Object-oriented programming
Functional programming
Iterators and generators
Exception handling
Exercise sessions will closely follow the progress of the theoretical course. They take place on computers to give students the tools and best practices needed to make practical use of Python. Some homework preparation may be required. Each part ends with an integrative mini-project mobilizing all the concepts covered.
Interactive theoretical lectures with illustrative exercises
Computer-based practical sessions
The course is organized into two blocks of 5 weeks each, with 4 hours of lectures and exercises plus 2 hours of supervised personal work per week
Course assessment consists of a single computer-based practical exam covering the entire content (100% of the grade). The exact assessment modalities may be adjusted depending on practical constraints.
The course is partly based on the books "Python for Biologists" and "Advanced Python for Biologists" by Dr. Martin Jones, 2013 (CreateSpace Independent Publishing Platform).
| Training | Block | Credits | Mandatory |
|---|---|---|---|
| Master in Biomedical Sciences, Professional focus in Biomedical Data Management | 1 | 6 | Yes |