Universitat Internacional de Catalunya

Programming Skills

Programming Skills
4
14872
4
Second semester
op
Main language of instruction: English

Other languages of instruction: Catalan, Spanish

Teaching staff


Natàlia Padilla Sirera: npadilla@uic.es

Cristina Lidón Moyano: clidon@uic.es

Introduction

Computer programming is a common reality for those people interested in the use of bioinformatics techniques in the biomedical-clinical environment. Although there are currently multiple programming languages, in bioinformatics there are two that stand out for their widespread use and flexibility to solve problems in the field: Python and R. The objective of this subject is to familiarize the student with the most essential aspects of these languages, illustrating their use in concrete problems.

Pre-course requirements

It is recommended to have studied and passed:
- Introduction to bioinformatics
- Biostatistics

Objectives

Learn the basics of the Python and R languages and start programming.

Competences/Learning outcomes of the degree programme

  • CB01 - Students must demonstrate that they have and understand knowledge in an area of study that is based on general secondary education, and it tends to be found at a level that, although it is based on advanced textbooks, also includes some aspects that involve knowledge from the cutting-edge of their field of study.
  • CB03 - Students must have the ability to bring together and interpret significant data (normally within their area of study) to issue judgements that include a reflection on significant issues of a social, scientific and ethical nature.
  • CB04 - That students can transmit information, ideas, problems and solutions to specialist and non-specialist audiences.
  • CB05 - That students have developed the necessary learning skills to undertake subsequent studies with a high degree of autonomy.
  • CE07 - To apply statistical tools to Health Science studies.
  • CE19 - To be aware of the principles of biomedical science related to health and learn how to work in any field of Biomedical Sciences (biomedical companies, bioinformatics laboratories, research laboratories, clinical analysis companies, etc.).
  • CG07 - To incorporate basic concepts related to the field of biomedicine both at a theoretical and an experimental level.
  • CG10 - To design, write up and execute projects connected to the field of Biomedical Sciences.
  • CG11 - To be aware of basic concepts from different fields connected to biomedical sciences.
  • CT01 - To develop the organisational and planning skills that are suitable in each moment.
  • CT02 - To develop the ability to resolve problems.
  • CT03 - To develop analytical and summarising skills.
  • CT04 - To interpret experimental results and identify consistent and inconsistent elements.
  • CT05 - To use the internet as a means of communication and a source of information.
  • CT06 - To know how to communicate, give presentations and write up scientific reports.
  • CT07 - To be capable of working in a team.
  • CT08 - To reason and evaluate situations and results from a critical and constructive point of view.
  • CT09 - To have the ability to develop interpersonal skills.
  • CT10 - To be capable of autonomous learning.
  • CT11 - To apply theoretical knowledge to practice.
  • CT12 - To apply scientific method.
  • CT13 - To be aware of the general and specific aspects related to the field of nutrition and ageing.
  • CT14 - To respect the fundamental rights of equality between men and women, and the promotion of human rights and the values that are specific to a culture of peace and democratic values.

Learning outcomes of the subject

The following is considered as a specific learning outcome of this course:

- The student knows and applies the programming language Python and R.

Syllabus

1. General concepts in programming: identifying the key steps in solving a problem

2.- Python programming fundamentals

2.1 Variables and data types: strings, numbers, and booleans

2.2 Conditions and loops: how to control the execution of a program

2.3 Lists: storing heterogeneous data

2.4 Dictionaries. A fast, direct form of accessing data: key-value pairs

2.5 Functions. Modules and Packages

2.6 Objects: a way to keep data and methods tidy

2.7 Testing: to keep your code clean and reliable

 

3.- R programming fundamentals

3.1 Introduction to basics: Calculations; Data types in R; Read datasets; Statistical programing review; Storing datasets; Linking to other computer languages

3.2. R Objects: Vectors, matrices, Arrays, Lists, Data frames; Logical operations; Storing heterogeneous data

3.2 Coding basics: Loops and functions

3.3 Transformations: apply, lapply, sapply, tapply; Relational Data: merge, dplyr

3.4 Tables and visualization: ggplot

3.5 Bioinformatic tools: Tydiverse, R Markdown, Bioconductor

Teaching and learning activities

In person



Clinical cases or case methods (MC): Setting up a real or imaginary situation. The students work on the questions formulated in small groups or in active interaction with the teacher and discuss the answers. The teacher intervenes actively and if necessary provides new knowledge.

Virtual Education (EV): Online material that the student can consult from any computer, at any time and that will contribute to self-learning of concepts related to the subject.

Evaluation systems and criteria

In person



Students in the first call:

50% Python: Methods of the case: 60% + 40% Partial exam of the subject*

50% R: Case methods: 60% + 40% Final exam of the subject*

*A minimum grade of 5 is required to achieve average

Participation in ES-Day: students who participate in all sessions of the Entrepreneurship & Social Day (E&S-Day) will receive 0.5 extra points on the final grade.

Students in the second or subsequent call: the grade for the methods of the case will be saved and the final exam will represent 75% of the final grade. Repeat students who wish to repeat the partial in 3 or 5 calls, may do so by notifying the teacher in advance. In any case, they must present themselves at least to recover the part of the subject that is suspended (R and/or Python).

General points to consider about the evaluation system:

1) In order to be able to average, a minimum grade of 5 must be obtained in the partial and final exam.

2) In addition to the aforementioned, to pass the subject, the average of all qualifications must be 5 or higher.

3) The continuous nature of this evaluation means that it is not possible to evaluate the subject if you have not participated in 75% of the hours.

4) Improper use of electronic devices (such as the recording and dissemination of both students and teachers during the different sessions, as well as the use of these devices for fun and non-educational purposes) can lead to expulsion from class.

Bibliography and resources

Python Crash Course: A Hands-On, Project-Based Introduction to Programming de Eric Matthes

Hands-On Programming with R de Garett Grolemund

The R Book de Michael J. Crawley

The Art of R Programming de Norman Matloff

Practical Data Science with R de Nina Zumel y John Mount