Skip to main content

140.636.01
Computer Science for BioInformatics

Location
East Baltimore
Term
1st Term
Department
Biostatistics
Credit(s)
4
Academic Year
2018 - 2019
Instruction Method
TBD
Class Time(s)
M, W, F, 1:30 - 2:20pm
Lab Times
Friday, 10:30 - 11:20am (01)
Auditors Allowed
Yes, with instructor consent
Available to Undergraduate
No
Grading Restriction
Letter Grade or Pass/Fail
Contact Name
Fernando Pineda
Contact Email
Frequency Schedule
Every Year
Prerequisite

Students should be comfortable using a command line interface and have previous experience programming in at least one language.

Description
Scientists in the life sciences require an appreciation, if not mastery, of three disparate fields: Statistics, Biology and Computation. Training in the latter is often subsumed in statistics and bioinformatics courses, where the emphasis is on rationale of statistical and biological thinking respectively. To fill the gap, this course covers the fundamental notions and rationale of computation at a level that is appropriate for future biomedical and life-science investigators.
Introduces the computational hardware and programming model upon which analysis tools and languages are based. Introduces and uses three main languages (Python, Perl, SQL) and their underlying rationale to develop computer science concepts such as data structures, algorithms, computational complexity, regular expressions, and knowledge representation. Draws examples and exercises from high-throughput sequence analysis, proteomics and modeling of biological systems. Reinforces key concepts through lectures with live computer demonstrations, weekly readings, and programming exercises. Has students working with a High Performance Compute Cluster and the Amazon cloud.
Learning Objectives
Upon successfully completing this course, students will be able to:
  1. Explain key fundamental concepts from computer science including notions of data structures, algorithms and computational complexity
  2. Describe programming paradigms and techniques, e.g. top-down vs bottom-up programming, procedural programming, object oriented programming, functional programming and database programming.
  3. Code in the Python, Perl, SQL and 'regular expression' programming languages (including the ability to use bioinformatics libraries and maintain version control).
  4. Represent and organize (in a scalable manner) large amounts of data from high-throughput biology experiments or other sources
  5. Search and use the wealth of software development resources available on the web
  6. Use High Performance Computing (HPC) and Cloud computing platforms and be able to describe the advantages the limitations of each.