Scientific Programming

A.Y. 2024/2025
6
Max ECTS
60
Overall hours
SSD
ING-INF/05
Language
English
Learning objectives
Programming skills are essential for bioinformatics and computational genomics, including the implementation of scripts for automation of recurrent data processing procedures and development of novel tools and reusable software packages.
The objective of the course is to make students proficient in writing software by adopting computational approaches, concepts and methods. As currently being the most widely used programming languages in the area of data science and in particular genomic data analysis, the course will present the scientific programming features of the Python and R programming languages. The students will have the opportunity to familiarize not only with the syntax and execution flow of the programming languages, but also with some of the software packages or libraries commonly used in bioinformatics. Also the creation of own software packages or libraries will be discussed.
Expected learning outcomes
Specifically, the goal of the R part of the course is to teach a correct and efficient use of this software environment for statistical computing and flexible visualization of data. The R part will illustrate the enormous performance loss that can result from inefficient coding and introduce both basic and advanced data structures and processing methods commonly used for bioinformatics, focusing on Bioconductor packages. Furthermore, R will be explored as a powerful tool for data visualization; also unit testing and version control will be discussed.
The objective for the Python part of the course is to empower the students with skills for a) coherent and efficient dataset manipulation by mean of the Pandas and NumPy libraries; b) concepts of concurrent programming for efficient execution; c) data visualization, by means of classical curve/scatter plots as well as more sophisticated heatmap, clustermap, histograms, boxplots; d) network programming, in particular how to access and deploy REST services.
Exercises will help to get hands on experience with the theoretical concepts discussed in the lectures and with the handling of biological or biomedical data.
Single course

This course cannot be attended as a single course. Please check our list of single courses to find the ones available for enrolment.

Course syllabus and organization

Single session

Lesson period
Second semester
ING-INF/05 - INFORMATION PROCESSING SYSTEMS - University credits: 6
Practicals: 24 hours
Lectures: 36 hours
Professor: Piro Rosario Michael