Computational thinking is increasingly gaining importance in modern biology, due to the unprecedented scale at which data is nowadays produced. Bridging the cultural gap between the biological and computational sciences, this book serves as an accessible introduction to computational concepts for students in the life sciences. It focuses on teaching algorithmic and logical thinking, rather than just the use of existing bioinformatics tools or programming. Topics are presented from a biological point of view, to demonstrate how computational approaches can be used to solve problems in biology such as biological image processing, regulatory networks, and sequence analysis. The book contains a range of pedagogical features to aid understanding, including real-world examples, in-text exercises, end-of-chapter problems, colour-coded Python code, and 'code explained' boxes. User-friendly throughout, Computational Thinking for Life Scientists promotes the thinking skills and self-efficacy required for any modern biologist to adopt computational approaches in their research with confidence.
Part I. Programming in Python:
1. Crash introduction to python
2. Efficiency matters – gentle intro to complexity
Part II. Sequences:
3. Sets dictionaries and hashing
4. Regular expressions and biological patterns
Part III. Networks:
5. Basic notions in graph theory
6. Shortest paths and breadth first search
7. Simulation of regulatory networks
Part IV. Images:
8. Digital images representation
9. Image processing
Part V. Limitations of Computing:
10. Mission impossible
11. Mission infeasible
Benny Chor was a Professor in Computer Science (CS) at Tel-Aviv University, Israel, and head of the School of Computer Science at Tel-Aviv University between 2018 and 2020. His research interests spanned computational biology, cryptography, and CS and math education, and he was renowned for his excellence in teaching. Benny passed away in June 2021.
Amir Rubinstein is a lecturer in Computer Science at Tel-Aviv University, Israel. His activity surrounds computer science education, and innovation and research in teaching and learning CS. He has received numerous awards for outstanding teaching.