workshop course: Python for life scientists
Already successfully taught to researchers at Harvard Medical School and MIT, this course Python For Life Scientists, can be customized for between 20 and 40 hours of teaching and workshop sessions, and is based upon our book Python for the Life Sciences. Like the book, we created this course specifically for biologists with little or no prior experience writing code. At most colleges unfortunately, courses in coding and basic computer science are still not a part of the core curriculum for the life sciences, yet biologists are increasingly discovering the need to move beyond calculators and Excel™ spreadsheets in order to handle their data and the more quantitative aspects of their own research. Our aim on this course, is to provide the life scientist with a foundation in Python sufficient for them to be able to start using it in their own research. Just as it's quicker and easier to learn a route by being the driver of a car rather than the passenger, so this course emphasizes hands-on, experiential learning. There is some component of traditional classroom learning, but much of this course is composed of coding exercises and workshops. The best way to learn Python is to take the wheel yourself! We therefore encourage every student to participate fully in the coding exercises and workshops, since this will solidify their foundation in Python in a way that classroom learning alone, cannot.
Although the course has live, instructors in the classroom with the students, all of the course content is web-based, even the Python coding platform! This avoids the time that would otherwise have to be spent doing a Python installation on the laptop of every student, and it also ensures that every student is working in the same Python environment. The teaching starts right away. Furthermore, this means that whenever we are using Python code to work with files, those files will always be read from, and written to, the web-based Python platform. Since none of the students’ Python code will ever be reading or writing files that are actually on their computers, there's no need to worry about it compromising the integrity or security of their computer's files.
All the student needs for the class is a laptop and an internet connection!
from the basics of the Python language ...
This course assumes no prior knowledge or experience of writing computer code. It starts at the very beginning with basic concepts about how to represent and store numbers, text, lists and so on. Almost all of the examples are taken from real-world biology problems, and at every stage, workshop exercises that demonstrate real, biological applications of Python, help the students to truly assimilate their new knowledge and skills.
to object-oriented programming ...
Object-oriented programming (OOP) is a a great coding paradigm to learn for building larger, more complex systems and applications in Python. We give students a concise but solid introduction to OOP that will serve them well not only with Python, but also for many other widely-used programming languages for which OOP is the dominant approach. As with the rest of the course, the teaching is augmented by hands-on workshop exercises in which the students will implement their own classes and objects, in order to see first hand how OOP helps them to organize their code and make it more robust.
all demonstrated with real biology applications
One of the unique features of this course is that it’s being taught by consultants who are actually using Python in almost all of their work for the research organizations that are their clients. The range and diversity of real life science research applications to which they have applied Python, is also reflected in the course. Students of this course will get to try out and consolidate their new Python skills in life science applications ranging from biochemical kinetics and DNA sequencing, to laboratory assay design, population dynamics and the stochastic modeling of cell signaling pathways.