Course Content: Computers are becoming increasingly essential to
the study of all aspects of biology. Basic computer programming and
database management are now required for everything from accessing,
storing and managing data, to statistical analysis,
to simulation and numerical modeling.This course will provide an
introduction to computer programming and database management targeted
towards biologists, and will take a student-centered, active learning,
approach to teaching this material. Class will typically
consist of a short introductions to programming/database techniques and
associated biological problems, followed by hands on computing
exercises. The course will be taught using Python for computer
programming and MS Access for database management. No programming
or database background is required.

Course Content: Computers are becoming increasingly essential to
the study of all aspects of biology and an increasingly large number of
biologists spend a substantial portion of their time writing computer
programs to analyze data and simulate the outcomes
of biological models. However, most biologists have little formal
training in software development, which means that we spend longer than
necessary writing our software, it contains more bugs, and it is less
useful to other scientists than it should be. This
course will teach the concepts, skills, and tools needed to help you
build software more productively. It will be based on the excellent
Software Carpentry curriculum and will include training in advanced
areas including object oriented programming, version
control, automated testing, using a debugger, building and interacting
with databases using SQL, and using the shell. The course will take a
student-centered, active learning, approach to teaching this material.
Class will typically consist of a short introductions
to programming/database techniques and associated biological problems,
followed by hands on computing exercises. The course will be taught
using Python for computer programming and either MySQL or SQLite for
database management. Students should have at least
one prior programming course (or equivalent knowledge of programming),
and understand loops (for and while), conditionals (if/then/else),
functions, and arrays.

If you have questions regarding your background please contact Ethan to discuss which course is most appropriate for you.