Bioinformatics has become an increasingly important field of biology given the massive expansion of biological information (e.g., genome sequences). This course teaches three things: (1) Key algorithms used in computational biology underlying database searching, sequence alignment, RNA structure folding, and fuzzy sequence searching among other thing; (2) Practical Bioinformatics tools for molecular biologists that could immediately be used in research labs; and (3) Bioinformatics programming skills.
Course Learning Goals: Understand architecture of operating systems and databases. Learn theory and practice of the Linux command line operating system. Learn the iPython and Jupyter notebook systems, and the sci-kit bio libraries. Understand the theory and utility of data structures and how to apply them to biological data analysis. Learn and apply basic theory behind artificial intelligence algorithms, supervised and unsupervised. Understand fundamentals of statistical theory and practice relevant to programming statistical software and learn statistical programming, scripting and bioinformatics applications in the R language. Learn the fundamentals of object-oriented programming in the Python language, how to write basic classes and use objects for biological data analysis and be able to apply these concepts to lab projects. Master and apply computational algorithms for biological research, including completing a research project using open-source biological data.