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

BASIC

 

CB1

That the students have demonstrated that they possess and understand knowledge in an area of study that starts from the base of general secondary education, and is usually found at a level that, although it relies on advanced textbooks, also includes some aspects that involve knowledge from the vanguard of his field of study

CB5

 That the students have developed the learning skills necessary to undertake further studies with a high degree of autonomy

 

GENERAL

CG7 Integrate the basic concepts related to the field of biomedicine at both a theoretical and experimental level.

CG10 Design, write and execute projects related to the area of Biomedical Sciences

CG11 Recognize basic concepts of different areas linked to biomedical sciences.

 

 

SPECIFIC:

CE7

Apply statistical tools to studies in Health Sciences.

CE19

Recognize the principles of biomedical sciences related to health and learn to work in any area of Biomedical Sciences (biomedical company, bioinformatics laboratories, research laboratories, clinical analysis company, etc.

 

 

TRANSVERSAL

 

CT1

Develop the capacity for organization and planning appropriate to the moment.

CT2

Develop the ability to solve problems.

CT3

Desarrollar la capacidad de análisis y síntesis.

CT8

Develop the capacity for analysis and synthesis.

CT9

Have the ability to develop skills in interpersonal relationships.

CT10

Be able to carry out independent learning.

CT11

Apply theoretical knowledge to practice.

 

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