February 15, 2019
The previous course was “Introduction to Data Science”
This course is “Scientific Computing”
Because computers are essential tools for Molecular Biologists
They control the instruments
The help us to understand the results
They help us to design the experiments
We will focus on the last 2 items
"Scientists spend an increasing amount of time building and using software.
However, most scientists are never taught how to do this efficiently"
“Software is as important to modern scientific research as telescopes and test tubes”
“…recent studies have found that scientists typically spend more than 30% of their time developing software…”
“We believe that software is just another kind of experimental apparatus and should be built, checked, and used as carefully as any physical apparatus”
"However, most scientists do not know how reliable their software is.
This can lead to serious errors impacting the central conclusions of published research"
“Recent high-profile retractions, technical comments, and corrections because of errors in computational methods include papers in Science, PNAS, the Journal of Molecular Biology, Ecology Letters, the Journal of Mammalogy, Journal of the American College of Cardiology, Hypertension, and The American Economic Review”.
Wilson et al. “Best Practices for Scientific Computing.” PLoS Biology 12,1 (2014)
Modern biology increasingly requires computational and quantitative methods to collect, process, and analyze data, as well as to understand and predict the behavior of complex systems.
Whereas throughout much of the 20th century computational and mathematical biology were niche disciplines, their methods are now becoming an integral part of the practice of biology across all fields.
Stefan et al. “The Quantitative Methods Boot Camp: Teaching Quantitative Thinking and Computing Skills to Graduate Students in the Life Sciences”. PLoS Comput. Biol. 11, 1–12 (2015).
“We broadly categorize these goals into three domains”
Developing practical programming skills (“doing”) is of limited use if one does not also develop both the ability to think about problems algorithmically (“thinking”) and a positive attitude towards computing (“feeling”).
Students should be able to
Students will be able to
(we already did this)
Students will
A lot of practice
Quizzes
Forum
Remember that you can ask any question related to the course
On the Web:
https://groups.google.com/d/forum/iu-cmb
by Email:
iu-cmb@googlegroups.com
You get 1 point for each real question, and 2 points for each practical answer
Stefan, M. I., Gutlerner, J. L., Born, R. T. & Springer, M. “The Quantitative Methods Boot Camp: Teaching Quantitative Thinking and Computing Skills to Graduate Students in the Life Sciences”. PLoS Comput. Biol. 11, 1–12 (2015). doi:10.1371/journal.pcbi.1004208.
Wilson, G., D. a. Aruliah, C. T. Brown, N. P. Chue Hong, M. Davis, R. T. Guy, S. H. D. Haddock, et al. “Best Practices for Scientific Computing.” PLoS Biology 12, no. 1 (2014): e1001745. doi:10.1371/journal.pbio.1001745.
Noble, William Stafford. “A Quick Guide to Organizing Computational Biology Projects.” PLoS Computational Biology 5, no. 7 (2009): 1–5. doi:10.1371/journal.pcbi.1000424.
If you can build with LEGO, you can program
Examples: https://wiki.scratch.mit.edu/wiki/Scratch_Wiki_Home
Make a scratch of a falling apple
Make a scratch of a falling ball
Make a realistic ball
We store data in variables
These elements allow us to do things to variables
Repeat N times
Repeat until …
If … then …
If … then … else …
Notice that TRUE
/FALSE
blocks have a particular shape
Comparing two values always gives either TRUE
or FALSE
George Boole (1815–1864) was an English mathematician, educator, philosopher and logician. He is best known as the author of The Laws of Thought which contains Boolean algebra.
They have diamond shape: logic
Question: How do they work?
Modify exercise 3 to include a coil pulling the ball up
It is not necessary to draw the coil (it is better if you do)
The coil pulls the ball upwards
Gravity pulls the ball downwards