{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# BIOL B115 Computing Through Biology: An Introduction" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Spring 2018" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## General Information" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Instructor" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Joshua Shapiro [jshapiro01@brynmawr.edu](mailto:jshapiro01@brynmawr.edu)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Meeting times and locations" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Mon, Wed, Fri 11:10AM-12:00PM, Park 349
\n", "Open Lab: Wed 1:00-3:00PM, Canaday Computer Lab" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Course Description" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This course is an introduction to biology through computer science, or an introduction to computer science through biology. The course will examine biological systems through the use of computer science, exploring concepts and solving problems from bioinformatics, evolution, ecology, and molecular biology through the practice of writing and modifying code in the Python programming language. The course will introduce students to the subject matter and branches of computer science as an academic discipline, and the nature, development, coding, testing, documenting and analysis of the efficiency and limitations of algorithms." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Learning objectives" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The goal of this course is to introduce concepts from computer science and biology in an integrated approach, while drawing connections between these two fields of study. Specifically, students completing the course should be able to:\n", " \n", "* Read, write, and modify computer code in the Python language utilizing programming constructs such as variables, functions, loops, conditional statements, and objects. \n", "* Design, implement, and debug programs to perform computational tasks.\n", "* Understand the ideas behind computation, including the limits, requirements, and performance of different algorithms.\n", "* Model biological systems in a computational framework, and gain biological insights from those models in areas such as genetics, evolution, and ecology.\n", "* Understand common models of biological evolution and population genetics and explore their application to optimizing computational problems." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Textbook and Readings" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For the computer science topics of the course, we will be using [Python Programming, Third Edition](http://mcsp.wartburg.edu/zelle/python/ppics2/index.html) by John Zelle. The second edition is also acceptable, as it covers Python 3, which is the version of the language that we will be using; the first edition, however, uses an earlier version of Python that is quite different. \n", "\n", "![Python Programming, third edition cover image](http://mcsp.wartburg.edu/zelle/python/ppics3/cover_small.png)\n", "\n", "Readings on biological topics will be taken from a variety of sources, with all readings posted on the course website." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Course Policies" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Assignments" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There will be approximately ten assignments, consisting of programming problems and explorations of biological questions through computational approaches. Assignments will be submitted through Jupyter (below)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Computing" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "All computing will be done on the [Bryn Mawr Jupyter server](https://jupyter.brynmawr.edu/) through your own computer's web browser. We will be using the [Jupyter Notebook](https://jupyter.org) system with Python 3.\n", "\n", "You can login to the Jupyter server at . Accounts will be provided." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Exams" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There will be two exams in the course, one mid-semester and the other during finals period. The exams will cover material from lectures, homeworks, and assigned readings (including topics not discussed in class). Both exams will be closed-book and closed-notes." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Group project" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "During the second half of the semester, students will work in small (2-3 person) groups on an independent programming project that explores an area of biology through computation. Topics may include simulations of genetic regulatory systems, modeling of population dynamics or epidemiology, bioinformatic data analysis, or any other topic of interest in biology. Groups will present their work in an oral presentation to the class, and through a Jupyter notebook that clearly describes both the biological questions being addressed and the computational approaches taken." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Grading" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Final grades will be determined according to the following weightings:\n", "\n", "40% Assignments
\n", "15% Exam 1
\n", "20% Exam 2
\n", "15% Group Project
\n", "10% Participation
\n", "\n", "*Late assignments will incur a 10% penalty per day unless arrangements are made for an extension **at least 24 hours** prior to the due date. Extensions will only be granted in the case of verifiable medical excuses or other similarly dire circumstances. All exams and projects are required; failure to complete any component will result in failure in the course.*" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Support Services and Accommodations" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Bryn Mawr offers a variety of resources to help students thrive in their academic endeavors while managing stress and maintaining mental health. For further information on those services, consult the [Support Services website](http://www.brynmawr.edu/academicsupport/StudentSupportServices.html) or contact Rachel Heiser, Academic Support and Learning Resources Specialist in the Dean’s Office, with questions: ([rheiser@brynmawr.edu](mailto:rheiser@brynmawr.edu), 610-526-5275) \n", "\n", "Students who think they may need accommodations in this course due to the impact of a learning, physical, or psychological disability are encouraged to meet with me privately early in the semester to discuss their concerns.  Students should also contact Deb Alder, Student Access Coordinator ([dalder@brynmawr.edu](mailto:rdalder@brynmawr.edu), 610–526–7351), as soon as possible, to verify their eligibility for reasonable academic accommodations. Early contact will help to avoid unnecessary inconvenience and delays." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Tentative Schedule" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Week | Date | Topic | Reading (Zelle) |\n", "-----:|--------|:--------------------------------|------------- |\n", "1 | Jan 22–26 | Modeling life through simulations | Chapter 1 \n", " | | |\n", "2 | Jan 29–Feb 2| Simple programs - Python simulation | Chapter 2, 7.1-7.3 \n", " | | Stochastic simulation, Random & pseudorandom numbers | \n", "3 | Feb 5–9 | DNA sequence analysis: GC content - math, strings, functions | Chapter 3, 5.1-5.2, 6 \n", " | | GC content variation across genomes & species - lists, graphics | Chapter 4, 11.1-11.3 \n", "4 | Feb 12–16 | DNA Translation - files, dictionaries | Chapter 5.3-5.10, 11.1-11.3, 11.6 \n", " | | Debugging & testing | \n", "5 | Feb 19–23 | DNA mutations, types & effects - modular arithmetic | Chapter 7 \n", " | | Sorting & analysis | \n", "6 | Feb 26–Mar 2 | Evolving digital organisms | \n", " | | | \n", "7 | Mar 5–9 | Review for exam | \n", " | | **Exam I** | \n", "8 | Mar 12–16 | *Spring Break* | \n", "9 | Mar 19–23 | Population genetics: Random Genetic Drift - arrays, random | Chapter 8 \n", " | | Genetic drift with mutations: infinite vs finite sites - program design | Chapter 9 \n", "10 | Mar 26–30 | Haploids, diploids & mating - classes & objects | Chapter 10 \n", " | | Additivity & dominance in evolution | \n", "11 | Apr 2–6 | Project Brainstorming & Planning | \n", " | | Algorithm design & efficiency | Chapter 13 \n", "12 | Apr 9–13 | Training a neural network | \n", " | | Learning Systems & Plasticity | Chapter 13 \n", "13 | Apr 16–20 | Recursion | \n", " | | Sequence alignment | \n", "14 | Apr 23–27 | Broader applications | \n", " | | | \n", "15 | Apr 30–May 4 | Project Presentations | \n", " | | Review for final |" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.1" } }, "nbformat": 4, "nbformat_minor": 1 }