- This is the primary repository for course materials, and will be updated regularly.
Friday 12:45 - 3:15 pm, Health & Learning Center room 4105.
TBD
As datasets continue to increase in complexity, computational analysis is becoming a routine part of scientific research. This is a hands-on training course that teaches you how to use general computing tools to work more efficiently and effectively in the biological sciences. This course will cover a broad range of powerful and flexible tools including text file manipulation with regular expressions, interacting with a command line interface, basic shell scripting, programming in Python, and basic graphical concepts.
Upon successful completion of this course, students will be able to:
-
Apply computer science techniques to test biological hypotheses. (NACE Competencies: Technology, Critical Thinking)
-
Write custom scripts and utilize existing software packages to address questions in their research. (NACE Competencies: Technology, Critical Thinking)
-
Use computer science techniques to answer biological questions with real data. (NACE Competencies: Technology, Critical Thinking)
-
Effectively communicate their interpretation and analysis of biological data using computer science techniques. (NACE Competencies: Communication, Professionalism)
Haddock, S. H. D. and Dunn, C. W. (2010). Practical Computing for Biologists. Sinauer Associates
Assigned reading should be completed prior to each class. This will allow us to minimize time spent in lectures and maximize hands-on time actively using the new tools being presented.
Appendices from the Practical Computing for Biologists book, which summarize frequently used commands.
Week | Date | Topic | Required reading (#s = PCfB Chapters) |
---|---|---|---|
1 | 1/19 | Intro, setup & regular expressions | 1-3 |
2 | 1/26 | The Shell - Part 1 | 4-5 |
3 | 2/2 | The Shell - Part 2 | 6, 21 |
4 | 2/9 | Python Programming - Part 1 | 7-8, Jupyter Notebook Tutorial |
5 | 2/16 | Python Programming - Part 2 | 9 |
6 | 2/23 | Python Programming - Part 3 | 10-11 |
7 | 3/1 | Python Programming - Part 4 | 12 |
8 | 3/8 | Debugging, Combining methods | 13-14 |
9 | 3/22 | Graphical concepts: vectors vs. pixels | 17-19 |
10 | 3/29 | Making figures in python - Part 1 | Matplotlib Overview |
11 | 4/5 | Making figures in python - Part 2 | |
12 | 4/12 | Work/Troubleshoot Day #1 | |
13 | 4/19 | Work/Troubleshoot Day #2 | |
15 | 4/26 | Project Presentations - Part 1 | |
16 | 5/3 | Project Presentations - Part 2 |
Here are several in-demand skills from the National Association of Colleges and Employers (NACE) you will practice in this class:
- Technology: Understand and leverage technologies ethically to enhance efficiencies, complete tasks, and accomplish goals.
- Critical Thinking: Identify and respond to needs based upon an understanding of situational context and logical analysis of relevant information.
- Communication: Clearly and effectively exchange information, ideas, facts, and perspectives with persons inside and outside of an organization.
- Professionalism: Knowing work environments differ greatly, understand and demonstrate effective work habits, and act in the interest of the larger community and workplace.
Dan Barshis' Practical Computing Course
Copyright (C) 2024 Jason Ladner
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.