## Principles Of Computer Science 2

### Second Year / First Semester Course L-2 - 1049261

### (A. A. 2017/2018)

### Syllabus

The course aim to introduce computational thinking and the algorithmic approach to solving problems correctly and efficiently. Algorithms are ubiquitous in bioinformatics and are often at the interface of computer science and biology. Well established algorithmic techniques will be studied as well as ways to encode them in a computer program using python.

We will introduce the algorithmic approach and the theory of algorithms for studying correctness and efficiency, understanding what makes a good algorithm and how to classify them.

We will study characteristic algorithmic techniques and the relate-d computational ideas that are relevant to the field of biology and how to select the most suitable to solve a given task. Topics covered include

- Searching algorithms
- Divide-and-Conquer algorithms
- Clustering and Tree-based algorithms

We will work with Python and how to write a computer program encoding a given algorithm.

### Location

All classes take place in Classroom Psicologia I, Fisiologia Generale e Antropologia Farmacia e Medicina (CU026, E01PSIL101)

### Time Schedule

- Tuesday 14:00 - 16:00
- Thursday 14:00 - 16:00

### ASSIGNMENTS

- 1st Assignment
**Deadline: 31st October 2017** - 2nd Assignment
**Deadline: 30th November 2017** - 3rd Assignment
**Deadline: 11th December 2017**

### Lecture Material

- Lecture 1: Tuesday, October 3, 2017. Lecture Slides in PDF
- Introduction to Computational Thinking
- First Assignment

- Lecture 2: Thursday, October 5, 2017. Lecture Slides in PDF
- Lecture 3: Tuesday, October 10, 2017. Lecture Slides in PDF
- Lecture 4: Thursday, October 12, 2017. Lecture Slides in PDF
- Lecture 5: Tuesday, October 17, 2017. Lecture Slides in PDF
- Lecture 6: Thursday, October 19, 2017. Lecture Slides in PDF
- Lecture 7: Tuesday, October 24, 2017. Lecture Slides in PDF
- Lecture 8: Tuesday, October 26, 2017. Lecture Slides in PDF
- Lecture 9: Tuesday, October 31, 2017. Lecture Slides in PDF
- Lecture 10: Tuesday, November 14, 2017. Lecture Slides in PDF
- Lecture 11: Thursday, November 16, 2017. Lecture Slides in PDF
- Lecture 12: Tuesday, November 21, 2017. Lecture Slides in PDF
- Lecture 13: Thursday, November 23, 2017. Lecture Slides in PDF

### Coding Material

The material related to python that was presented in class is available from as an open-source repository in GitHub.

### References

- NEIL C. JONES AND PAVEL A. PEVZNER: An Introduction to Bioinformatics Algorithms. A Bradford Book, The MIT Press, Cambridge, Massachusetts, London, England, 2004. (The book is available in PDF here)