Skip to content

Syllabus

  • Title: Programming and Data Science for Biology (EEEB GU4050)
  • Term: Spring 2025
  • Department: Ecology, Evolution, and Environmental Biology (E3B)
  • Instructors:
  • Location: 329 Uris Hall
  • Day/Time: Tu/Th 10:10-11:25am
  • Course level: 4000 (graduate but open to advanced undergraduates)
  • Credits: 3
  • Office hours: TBD.

Bulletin: Programming and Data Science for Biologists (PDSB) will introduce students to fundamental computational skills and concepts for working with large biological data sets. The core learning objectives include general skills like data formatting and using git/github, as well as learning advanced usage of Python for writing and designing new software. Exercises and assignments will introduce students to empirical datasets used in the biological sciences, from genomics to biodiversity. The latter half of the class is organized around individual projects, in which students will design a command-line program and/or API relevant to their research. Computer programs are ubiquitous in biology, but few biologists receive formal training in designing and writing software. This course offers a deeper introduction to computational techniques and algorithms commonly applied to biological datasets.

Organization: Each meeting will be a mix of lecture, in-class "active" learning, and group activities. In addition a lot of work is assigned outside of class, including assignments, reading, and watching video tutorials. An example session would include a lecture to introduce a general concept with examples from biological research, followed by a group active-learning exercise in which students implement the method applied to real datasets.

Equipment: All software and materials for the course are open access (available online for free) including assigned readings and videos. Students will learn to code on their own computers, no matter if they are running Linux, Mac, Windows, or Chrome OS. This will require student to install free software on their computers.

Assessment/Grades: Grades will not be curved. However, your grade will be assigned relative to the performance of your peers. The maximum grade will earn an A, and grades that are less than one-half of that maximum grade will be assigned an F. Between these values (max and ½ max) intervals equating to letter grades are divided equally. Grades are based on participation (attendance and discussions), assignments, projects proposals, and project presentations, and the final project.
- 25% Participation
- 35% Assignments
- 10% Project proposal
- 10% Project presentation
- 20% Project final

Participation: In addition to attendance you are expected to contribute to discussions in class by asking questions, and to interact with your peers through breakout session code reviews. Participating in the Gitter chatroom also 'counts' as participation.

Assignments: Code-based assignments are used to assess comprehension of new concepts learned in class. These are graded on effort, accuracy, and style.

Projects: A course project will be developed by each student. We will begin planning these very early in the class, well before you will have learned the skills to develop them. As we progress through class we will revisit and revise project proposals, while also discussing how the concepts we learn may be usefully applied to aspects of the projects. A formal project proposal is due halfways through class. Near the end of class students will give presentations on the status of their projects. The final projects will be published as open source code on github and evaluated on the basis of documentation, style, and a working example.

Attendance policy: This course relies upon student participation and, thus, attendance is expected. Absences will incur a grade penalty unless excused. Students who are unable to attend class for health or other personal reasons should reach out to the instructors. We understand that there are many legitimate reasons for absences, so do please reach out.

Statement on policy for students with disabilities: If you are a student with a disability and have a Disability Services-certified ‘Accommodation Letter’ please contact the instructors before the course starts to confirm your accommodation needs. If you believe that you might have a disability that requires accommodation, you should contact Disability Services at 212-854-2388 and disability@columbia.edu.

Statement on use of generative AI in coursework: Students are not discouraged from using AI tools, such as ChatGPT or similar technologies, to support their learning and assignments. However, the use of AI must be acknowledged clearly in your submissions. For example, you can include a brief note stating, "This analysis was generated with the assistance of [AI tool name]."

While AI can be a powerful resource, it is not infallible. These tools can occasionally produce incorrect or misleading information, and relying on them exclusively may hinder your ability to critically evaluate data, methods, and results. Therefore, you are expected to: - Verify Information: Cross-check AI-generated outputs against authoritative sources or class materials. - Develop Independent Skills: Engage with the concepts and tools independently to ensure you can identify when AI outputs are inaccurate or suboptimal. - Take Responsibility: Ultimately, you are accountable for the content and quality of your work, regardless of whether it was AI-assisted.

By using AI judiciously and critically, you will enhance your ability to evaluate the reliability of data and tools, which is a vital skill in data science. This statement on the use of generative AI was generated with the assistance of ChatGPT.

Statement of academic integrity: Academic dishonesty is a serious offense and will not be tolerated in the class. Students are expected to reference sources appropriately in any work. Students are allowed to discuss homework assignments but should respond to questions and tasks on their own, not using a group answer. Violation of the rules of academic integrity (e.g., plagiarizing materials) from Columbia College or the Graduate School of Arts and Sciences, will result in automatic failure of the course. Rules and consequences are outlined in Columbia College’s Faculty Statement on Academic Integrity: http://www.college.columbia.edu/faculty/resourcesforinstructors/academicintegrity/ statement