Learn to code with penguins!

 

Thanks for your interest in BIOL3017C: Analytical Tools for Behavior!

There is increasing awareness that data science and computational thinking are critical skills for undergraduates to develop. The goal of this course is to provide students with a hands-on approach to learning how to analyze animal behavioral data using the programming language R. The course is designed for complete beginners: no experience coding is required or expected.

In the course, I use an immersive system for learning R which focuses on data exploration, management, and visualization. My partnership with the Cincinnati Zoo provides students access to data from African and Little Blue penguins. Students will use several datasets about the penguins to gain critical quantitative skills and learn about how to approach questions from a scientific perspective. In Spring 2021 and Fall 2021, we conducted analyses on penguin space use, territoriality, preferences for habitat areas and water conditions for swimming, relationship strength, social network structure, and leadership. The course focuses on active learning, homework, and group projects. Students will develop initial skills using asynchronous “code-along” videos. Synchronous lectures focus on relevant animal behavior concepts and data interpretation, encouraging students to think critically. In interactive lab sessions, students produce their own code to answer inquiry-based questions, adapting existing code from prior assignments. Grades are based on completing homework and lab assignments (there are no exams or quizzes).

Here, you’ll find all the information you’ll need to learn more about the course, the grading structure, expectations, etc. 

Course Overview, Description, Purpose

The goal of this course is to provide students with a fun hands-on approach to learning how to analyze behavioral data using the programming language R. Students will use several datasets about penguins to gain critical quantitative skills and learn about how to approach questions from a scientific perspective. This course will focus on active learning, homework, and group projects. Learning to code is different from learning statistics: in this course, we will focus on the coding and not on statistics.

Why is learning to code important? 

Whether you are interested in a government job, a job in a nonprofit organization, a career in industry, or continuing to get your Masters or PhD degree, training in data analysis and particularly in coding is extremely valuable. More and more job postings are asking for candidates with data analysis, coding, and R skills so the training you get in this course could make you much more competitive for these positions. For general benefits of learning to code in R, see this link. For benefits specifically to biologists/ecologists, see this overview

Can I do this course if I’ve never coded?

Absolutely!! This course is designed specifically for people who have never coded before. We will start at the very beginning and all course activities are designed to give you practice with the coding skills that we will use. In past years, only one or two students in the course had ever coded before; by the end, everyone was coding and reported feeling much more comfortable with it. The goal in this course is to use penguin data as a fun and interesting “gateway” to coding, but all of the skills you will learn will prepare you with basic and transferable skills no matter what you want to apply your new skills to after the course.

Do we get to work with penguins?

The goal of the course is to get everyone comfortable with coding but we’ll do it all in the context of penguins and data on penguin behavior. This gives everyone incentive to persevere through learning R because we want to learn more about penguin behavior! Many of the analyses we do with the penguin data have never been done before, so students have the potential to learn new things about penguins and, especially in capstone research experiences, we can ask novel research questions. In Fall 2021, we were able to take a field trip to the Cincinnati Zoo to meet the penguins, collect data in person, and speak with keepers and researchers involved in penguin data collection. However, the main focus of the course is on the coding. For more information about the data collection efforts at the zoo, see this video.

Do students like this course?

I have taught this course in Spring 2021/Fall 2021 (under it’s temporary course number BIOL-2099C) and in Fall 2022 (under the new permanent number BIOL3017). Student responses to the course have been strongly positive: 100% felt their skills had significantly improved since the start of the course, 100% would be likely to use these skills in their future careers, and 96% strongly recommended that other Biology students take this course.

What kinds of prereqs do I need?

To enroll in the course, you’ll need to have taken sophomore-level biology courses (either Genetics and Ecology or  Genetics and Cell Biology) already and have passed with a C- or better. If you think you satisfy these requirements, but can’t register, please get in touch with your Biology advisor to discuss your options.

What kinds of research can we do with the penguins?

We used data on both the Little Blue Penguins and the African Penguins at the Cincinnati Zoo to analyze their space use in their habitats, their preference for swimming at different times of day and with different weather conditions, their territoriality, their social structures, and much more! For a summary of one of the projects that an undergrad in the Hobson Lab conducted with the penguin data, see the story here about a project on penguin leadership. 

Course credit & capstone

This course is an upper-division lab course so it will satisfy requirements for upper division electives. Capstone research opportunities are available (please contact Dr. Hobson for details). 

Student Learning Objectives
  1. Demonstrate scientific thinking and computational skills using real examples and data
  2. Apply foundational data science skills (data management: cleaning, wrangling, summarizing; iteration: generalized coding solutions, loops; reproducible open science practices: annotating and sharing code) in multiple situations
  3. Properly plot different kinds of data in ways that facilitate analysis and interpretation of patterns
  4. Apply data analysis skills learned in the course to other contexts
Course structure

We will have one asynchronous video lecture per week which you will need to watch and complete activities for homework (due each Thursday). On Thursday mornings, we will meet in person for lecture (9:30-11:00). Lectures will focus on concepts like territoriality, leadership, social structure, and movement that are important in understanding animal behavior. These more general lectures will give students the conceptual background they need for doing analyses of penguin data in lab. On Friday mornings, we will meet in person for lab (9:00-12:00) where you will complete a computer-based lab project/problem set each week. Attendance at lectures and labs is required.

Grading policy

I use a Specifications Grading policy for the course. This means that if you complete all the work below for a certain grade category, then you will receive that grade for the course. There are no exams or quizzes, all grades are based on completing assigned work and problem sets. This policy is great for this type of course, which is focused on a hands-on learning and problem-solving approach, where actively participating in the course through the whole semester is critical. This grading approach has also been shown to reduce student stress/anxiety over grades and improve student learning and retention of course material. There are opportunities to recover from missed work, but the course is very much based around consistent participation.