Introduction to Computer Science Applications. Piero Fariselli

Course aims:  Developing computer science skills and implementing tools useful to solve bioinformatics problems. After the course students will be able to: - Understanding algorithms at the basis of the most popular bioinformatics software; - Handling existing tools to solve common bioinformatics problems; - Designing solutions to new problems with computer science techniques; - Choosing the best computer science tools needed to solve a specific problem.
Course contents: How to program in Python Language; Introduction to: Variables, Expressions and Statements, Functions, Conditionals and Recursion, Iteration, Strings, Lists, Tuples, Dictionaries, Classes and Objects, Inheritance, Linked Lists, Stacks and Queues and Trees. The course includes also a brief introduction to dynamic programming.

Readings/Bibliography: on line, selected papers and books.
Downey, J Elkner, C Meyers. How to Think Like a Computer Scientist - Learning With Python. 2002. Available at http://www.greenteapress.com/thinkpython/thinkCSpy/

Teaching methods: Lectures, practicum and lab activity including python programming
Assessment methods: During the course several tests will be performed in order to assess the student advancements.  The student at the end of the course has to present programs in python language whose subject will be decided during the course.
Teaching tools: Video beam, PC, overhead projector, laboratory activity.