Evolution is the foundational principle of biology, driven by the simple yet powerful "algorithm" of randomness generating diversity, environmental selection, and genetic inheritance of advantageous traits. This course explores evolutionary processes through computer programming, providing students with the tools to simulate evolutionary dynamics and analyze real-world data on natural evolution. Each week introduces a new topic, combining theoretical insights with practical coding assignments. Learning is facilitated through small team collaborations (2-3 students) with rotating groups to enhance peer learning and communication skills. Proficiency in programming is required.
Course Objectives:
- Understand the fundamental principles of evolution, including natural selection, mutation, and genetic inheritance.
- Develop programming skills to simulate evolutionary processes and analyze biological data.
- Apply computational models to explore key evolutionary concepts such as fitness landscapes, cooperation, and molecular evolution.
- Gain experience with evolutionary algorithms and their applications in biology and optimization.
- Collaborate effectively in small teams, presenting findings and discussing evolutionary concepts.
Weekly Topics and Activities:
Week 1: Introduction to Evolution
- Topics: Basic concepts of evolution—reproduction, selection, mutation, and mating.
- Activities: Introduction to the course, team formation, initial coding exercise simulating basic evolutionary dynamics.
Week 2: Fitness Landscapes and Sequence Spaces
- Topics: Binary genomes, fitness landscapes, quasispecies models, mutation matrices.
- Activities: Code simulation of fitness landscapes; analyze how mutations affect population dynamics.
Week 3: Evolution of Cooperation
- Topics: Game theory, frequency-dependent selection, evolutionarily stable strategies, and the Prisoner's Dilemma.
- Activities: Implement game theory models in code; explore cooperation in simulated populations.
Week 4: Natural vs. Neutral Evolution
- Topics: Moran process, fixation probability, and the role of drift vs. selection.
- Activities: Code a Moran process; compare selective and neutral evolutionary outcomes.
Week 5: Molecular Evolution I: Protein Evolution
- Topics: Evolution of proteins and emergence of new genes.
- Activities: Simulate protein sequence evolution; bioinformatic analysis of protein families and evolutionary data from existing datasets.
Week 6: Molecular Evolution II: The Genetic Code
- Topics: Evolution of the genetic code and its adaptive properties, codon usage biases.
- Activities: Explore genetic codes through evolutionary simulations; analyze real genetic code data.
Week 7: Evolution of Gene Expression
- Topics: Regulatory evolution, transcription factor binding site changes, gene network evolution.
- Activities: Simulate and analyze data on changes in gene regulatory networks and their evolutionary impact.
Week 8: Molecular Evolution and Phylogeny
- Topics: Evolutionary clocks, gene duplication, phylogenetic trees.
- Activities: Use bioinformatics tools to build phylogenetic trees; study gene duplication events.
Week 9: Evolution within the Body
- Topics: Evolution of molecular repertoires of the immune system, cancer evolution, pathogen evolution within hosts.
- Activities: Model the evolution of cancer cells; analyze data on pathogen adaptation in populations of their hosts.
Week 10: Evolutionary and Genetic Algorithms
- Topics: Genetic algorithms as optimization engines.
- Activities: Implement genetic algorithms; apply them to examined evolutionary dynamics trends.
Week 11: Cultural Evolution and Evolution of Language
- Topics: Models of cultural evolution, language development, and meme theory.
- Activities: Code simulations and data analysis of language evolution; study cultural transmission models.
Instructor Contact:
- Office hours, email, and contact details to be provided during the first class.