- Brian E. Chapman, Ph.D.: [email protected]
- Annie Bowles: [email protected]
- Yucheng Yang: [email protected]
Prior to starting this course, the student must have completed a basic programming class. Online courses, such as codecademy’s Python Course or Coursera's Programming for Everybody, are fine with proof of completion. We have also created a DataCamp course that the students can take for free as preparation when they enroll in this class. Please contact the instructor for details.
This course will provide students in the biological and medical domains the foundational programming skills to create computer programs to manage and analyze data drawn from biological, clinical, and public health domains. Working with the Python programming language, students will learn how to write procedural and object oriented programs. Mathematical principles relevant to biomedical data science will be reviewed through programming examples and problems. Students will also develop competency in using software version control with git as well as how to work within Linux computing environments.
-
Acquire basic software engineering skills (git, documentation, unit testing) to follow in code development
-
Recognize the components of a good program and software development process
-
Build python skills and create biomedical software applications in the Python programming language
-
Develop pipelines for manipulating, analyzing, and visualizing biomedical data
-
Apply basic mathematical principles (e.g. set theory, first order logic, calculus, linear algebra, probability, and graph theory) to motivate and inform computational problems in biology and healthcare
-
Acquire mathematics literacy that will facilitate effective reading of the relevant biomedical literature
-
Given a task within a field of interest, follow the polya method to develop a prototype solution
-
Exhibit confidence for self-directed expansion of programming skills
-
Introduction to Computation and Programming Using Python, Second Edition With Application to Understanding Data by John V. Guttag
-
Elements of Mathematics From Euclid to Gödel by John Stillwell.
-
I will be drawing heavily on Once Upon an Algorithm by Martin Erwig
-
I will make a PDF copy of Allen Downey's Think Python, version 2 available through Canvas. This is book with a Creative Commons license, so if you are interested you can clone, edit, and build your own copy of the book.
-
There are a number of very useful books that are available online through the University of Utah's subscription to the Safari Technical Books Online.
- Quizzes: 15% of grade.
- Quizzes will be based on class-preparation materials to ensure that the students have reviewed the materials prior to the start of class.
- Class Participation: 20% of grade
- Students are expected to attend class and participate in group activites. In-class assignments will form part of the grade.
- Homework Assignments: 40%
- Midterm Exam: 10%
- Final Exam: 15%
This class will follow a “flipped classroom” paradigm. Students will be expected to watch prepared videos and read relevant on-line materials prior to the start of class. Class time will be spent answering questions raised by on-line materials, clarifying topics, and participating in individual and group hands-on activities. Students will be working in groups following the Process Oriented Guided Inquiry Learning (POGIL) method.
- Readings:
- Readings:
- Introduction to Computation and Programming Using Python with Application to Understanding Data Chapter 1;
- Elements of Mathematics Sections 1.1, 1.2, 1.8-1.10;
- Think Python: How to Think Like a Computer Scientist, 2nd Edition section 1.6 "Formal and natural languages"
- Readings:
- Introduction to Computation and Programming Using Python with Application to Understanding Data Chapter 3.
- Elements of Mathematics, Section 1.1
- Readings:
- Elements of Mathematics, Section 9.8
- Readings:
- Introduction to Computation and Programming Using Python with Application to Understanding Data Chapter 5
- Python tutorial: Data Structures
- Readings
- Introduction to Computation and Programming Using Python with Application to Understanding Data Chapter 4
- Readings:
- Introduction to Computation and Programming Using Python with Application to Understanding Data Chapter 6
- Readings:
- Introduction to Computation and Programming Using Python with Application to Understanding Data Chapter 7
- Readings:
- Elements of Mathematics, Sections 4.5, 4.6, 5.7, 5.8
- DataCamp Numpy Array Tutorial
Readings:
- Introduction to Computation and Programming Using Python with Application to Understanding Data chapters 13
- Elements of Mathematics sections 8.2 and 8.3
Readings:
- Introduction to Computation and Programming Using Python with Application to Understanding Data chapters 15 and 16
- Elements of Mathematics 8.4-8.7
Readings:
- Elements of Mathematics, Sections 4.5, 4.6, 5.7, 5.8
- DataCamp Numpy Array Tutorial
Students wishing to earn extra credit can participate in creating Jupyter notebooks exploring the effects of air quality on health. Initial drafts of this material can be found at its GitHub repository