Quantitative Thinking and Python Programming
INFO Z620 Fall 2023
Time & Location: Mon, Wed 1:15p - 2:30p (1st 8-Week Class; Credits: 1.5); Biology Building (JH) 440
Instructor: Volker Brendel (205C Simon Hall)
Email:
VB, vbrendel@indiana.edu
WWW:
https://brendelgroup.org/
Virtual Office Hours:
Mon, Wed after class and by appointment.
Grades: will be determined as described below.
Schedule:
https://brendelgroup.org/teaching/2023/Z620F23schedule.php
Computing Resources:
You will need to bring a laptop to class to participate in exercises, group activities, and scheduled quizzes. You will need to set up a working Python environment on your laptop before the first day of class, as described under Prerequisites below.
HTML version of this syllabus
Synopsis
Biology has become one of the primary application domains of computer science and informatics approaches, covering a wide spectrum of data management and processing associated with large-scale, high-throughput biological data generation. Life science students in almost all areas of specialization work with such large numerical and categorical data sets. It is an increasingly important skill set to be able to work with these data in thoughtful and customized ways. We will discuss conceptual frameworks and practical solutions, while acquiring Python programming skills for implementation.
The course should be of interest to you if one or more of the following apply to you: (1) You are curious and would like to learn about a "hot topic"; (2) You want to expand your range of options for post-graduate school; (3) You want to become or stay relevant in life science research in academia or industry; (4) You are considering a high-paying job in the biotechnology sector.
Prerequisites
This class is primarily directed at graduate students in the life sciences, although the topic will be of interest to students in other areas of the natural sciences. No prior programming experience is assumed.
Class messages and materials, including assignments, will be shared through our Canvas site in addition to these web pages, and students are required to regularly check these relevant communication channels.
IU is committed to a positive environment for teaching and learning. If you have any concerns or suggestions, please let the instructor know. Please pay keen attention to the following:
Sexual Misconduct & Title IX: Indiana University policy prohibits sexual misconduct in any form, including sexual harassment, sexual assault, stalking, sexual exploitation, and dating and domestic violence. If you have experienced sexual misconduct, or know someone who has, the University can help. If you are seeking help and would like to speak to someone confidentially, you can make an appointment with the IU Sexual Assault Crisis Services at (812) 855-5711, or contact a Confidential Victim Advocate at (812) 856-2469 or cva@indiana.edu. It is also important that you know that University policy requires instructors to share certain information brought to their attention about potential sexual misconduct, with the campus Deputy Sexual Misconduct & Title IX Coordinator or the University Sexual Misconduct & Title IX Coordinator. In that event, those individuals will work to ensure that appropriate measures are taken and resources are made available. Protecting student privacy is of utmost concern, and information will only be shared with those that need to know to ensure the University can respond and assist. Please visit http://stopsexualviolence.iu.edu/ to learn more.
Before the first day of classes: Set up a python3 environment for your studies.
There is a large number of different ways to get a python3 environment. For Windows users, the minimum installation is for you to get the Python 3.11 app from Microsoft Store. For MacOS, download the appropriate installer from www.python.org. If you use Linux, you probably know what to do.
The above is the minimum setup you need to start with the class.
A better approach that will give us more flexibility later is to install Anaconda Navigator. This will look more complex to the novice (although installation is equally simple) but the navigator provides great functionality that we will use later in the class. Installation instructions are here. Sufficient for our purposes is to follow the instructions for Miniconda (see also: Installing Miniconda).
Learning Goals
The course seeks to provide students with a solid foundation in quantitative thinking in the life sciences and the skills to implement this using a python programming environment. Specific goals are: 1) Ability to write simple to moderately difficult Python programs. 2) Appreciation of quantitative thinking in the life sciences. 3) Ability to programmatically simulate data for baseline evaluation of observed experimental data. 4) Import and analyze large data sets using publicly available python packages. 5) A solid foundation for further self-learning of python applications in data science.
Text book
There are many resources available to us, so there will be no unnecessary duplication of effort. A most suitable online course for us is "Python for Everybody": PY4E. We will follow this course in terms of organization, but supplement the material suitable for our class focus.
Assignments and Grading
Your learning progress will be assessed on the basis of proven competency. The procedure for evaluating competency is akin to competitive high jumping or pole vaulting rules. There are four bar heights, corresponding to D, C, B, and A level competency (your grade in the class). Each student has three attempts per height, although they can elect to 'skip', i.e. advance to a greater height despite not having cleared the current one. Three consecutive failures at the same height, or combination of heights, leads to elimination (the grade given will correspond to the height cleared at that point). The D bar will cover topics from PY4E chapters 3-6; the C bar will cover topics from PY4E chapters 3-9; the B bar will cover topics from PY4E chapters 3-12; and the A bar will cover all topics covered in class. For each height, the default test will be given in class. If you pass the D, C, or B height in class, you'll earn a grade of at least D+, C+, or B+; for the A height, you'll earn a grade of A. If you fail the in-class test, you have a maximum of two more attempts at that bar (restricted by the rule of no more than three consecutive failures), which will be equivalent assignments given on Canvas. Once you passed, your attempt clock starts again (i.e., you have another three attempts at any height equal or higher as your last attempt). The dates of tests are posted on the class schedule. For examples of these rules of competition see the results of the 2022 World Track and Field pole vault championship: women and men.
Important Footnotes
Academic Integrity: As a student at IU, you are expected to adhere to the standards contained in the Code of Student Rights, Responsibilities, and Conduct (the Code). Academic misconduct is defined as any activity that tends to undermine the academic integrity of the institution. Academic integrity violations include: cheating, fabrication, plagiarism, interference, violation of course rules, and facilitating academic dishonesty. When you submit an assignment with your name on it, you are signifying that the work contained therein is yours, unless otherwise cited or referenced. Any ideas or materials taken from another source must be fully acknowledged. Students should not share their work with any other students. If plagiarism or other cheating occurs, both students involved will be considered responsible even if the student sharing their work was unaware that academic misconduct would occur or had occurred. Ignorance of what constitutes academic misconduct or plagiarism is not a valid excuse. In addition, posting questions from quizzes/exams or assignments or downloading answers from online sources is considered academic misconduct. All suspected violations of the Code will be reported to the Dean of Students (Office of Student Conduct) and handled according to University policies. Sanctions for academic misconduct in this course may include a failing grade on the assignment, a reduction in your final course grade, or a failing grade in the course, among other possibilities. If you are unsure about the expectations for completing an assignment or taking a test or exam, be sure to seek clarification from your instructor in advance.
Note Selling: Various commercial services have approached students regarding selling class notes/study guides to their classmates. Selling the instructor’s notes/study guides or uploading course assignments to these sites in exchange for access to materials for other courses is not permitted. Violations of this policy will be reported to the Dean of Students (Office of Student Conduct) as academic misconduct (violation of course rules). Sanctions for academic misconduct for this action may include a failing grade on the assignment for which the notes/study guides or assignments are being uploaded, a reduction in your final course grade, or a failing grade in the course, among other possibilities. Additionally, you should know that selling a faculty member’s notes/study guides individually or on behalf of one of these services using IU email, or via Canvas may also constitute a violation of IU information technology and IU intellectual property policies; additional consequences may result.
Online Course Materials: The instructor teaching this course holds the exclusive right to distribute, modify, post, and reproduce course materials, including all written materials, study guides, lectures, assignments, exercises, and exams. Some of the course content may be downloadable, but you should not distribute, post, or alter the instructor’s intellectual property. While you are permitted to take notes on the online materials and lectures posted for this course for your personal use, you are not permitted to re-post in another forum, distribute, or reproduce content from this course without the express written permission of the instructor.
GroupMe: Please note that you may receive emails from other students about joining GroupMe for individual classes via Canvas. Even though invitations to join the group may be issued through Canvas, they do not imply the endorsement of the course instructor. While GroupMe can be an effective tool for keeping in touch with classmates and clarifying information related to the course, it can also be source of unauthorized information sharing or collaboration among students. Collaborative efforts on assignments, quizzes and exams, including sharing or discussing answers when the instructor has not expressly authorized collaboration is considered cheating, If academic dishonesty occurs via GroupMe, everyone involved in the thread may be found responsible for academic misconduct since membership in the group suggests that that they have been able to view the information shared.