Currently we offer to undergraduate courses (CEN0336) e CEN0485)), in which students from a wide array of programs from ESALQ/USP participate. We also offer a post-graduate course (CEN5789) belonging to the Programa de Pós-Graduação em Ciências CENA/USP. All lectures are in Portuguese, and weekly reading material is in portugues and english, thus a good command of reading english is required. Further information below.


  • Genomics and Bioinformatics

Bioinformatics is an interdisciplinary field that bridges the life sciences and computing to tackle the challenge of managing and analyzing voluminous and complex biological data, such as those generated by the sequencing of eukaryote and prokaryote genomes. This rapid technological development, along with the increase of speed in data generation, has been crucial for advances in genomics and functional genomics, making knowledge in bioinformatics essential for research and postgraduate work in biology and molecular genetics. The discipline provides students with theoretical and practical tools to develop work focused on genomics, teaching skills in computing and computational biology necessary to analyze, interpret, and generate hypotheses from large data sets, in addition to providing an integrated understanding of the fundamentals of bioinformatics, algorithms for sequence analysis, and the most commonly used bioinformatics services.

This discipline has a strong component of student participation (i.e., inverted classroom), in the form of presentations on topics related to the discipline, development of a data analysis project, and weekly practices on computers. For the computer practices, we have developed material that is available here.

Further information.


  • Introduction fo bioinformatics

The course aims to explore the theoretical and practical foundations related to the description, retrieval, and analysis of biological data. It introduces methods for determining the primary structure of nucleic acids and proteins, predicting tertiary protein structures, gene prediction, and gene expression data analysis. The program briefly covers molecular biology and the information flow within the cell, introducing bioinformatics with a focus on genomics, and transcriptomics. It includes data acquisition, sequencing methods for nucleic acids and proteins, gene expression data analysis, and the use of databases, with references to public data repositories like NCBI and PDB. The course also delves into sequence alignment, its significance, similarity searches, sequence homology, and the computational tools. The curriculum is divided into 15 weekly sessions of 4 hours each, blending theoretical insights with practical exercises such as using the Linux OS, database searching, sequencing data analysis, sequence alignment with EMBOSS and BLAST, protein domain identification with HMMs, homology-based protein structure prediction, bacterial genome assembly, genome annotation, identification of orthologous and paralogous gene groups, gene expression estimation, differential expression analysis, and identification of enriched gene ontology terms in gene sets.

This discipline has a strong component of student participation, in the form of practical sessions and the presentation of a topic selected by student groups and related to topics presented in the program. For the computer practices, we have developed material that is available here.

Further information.


  • Introduction to computer programming applied to biological sciences

Upon completing this course, students will gain fundamental skills in using UNIX-like operating systems and high-level programming languages (e.g., Bash, Perl, Python). These skills are crucial for efficiently managing large data sets and information in contemporary biology, providing a valuable foundation for further learning in other subjects and professional activities in the field. The curriculum introduces UNIX operating systems and high-level interpreted programming languages, covering basic algorithm theory and script development for solving biological problems, with a focus on biological sequence manipulation.

The program is structured into 15 weekly sessions, each lasting 4 hours, blending theoretical and practical components. The theoretical part includes an introduction to UNIX operating systems, basic programming concepts (algorithms, compiled vs. interpreted programming languages), algorithm development, Bash, Perl or Python, data structures and variables, control structures, regular expressions, and functions. The practical component focuses on implementing simple scripts for biological data manipulation, emphasizing sequence manipulation.

This discipline has a strong component of student participation, as it is build on the premise that you can only learn to program a computer by programming a computer, so it is an instance of learn-by-doing. For the computer practices, we have developed material that is available here.

Further information.