Christina Boucher
Office: E546 CSE Building
Office Hours: Tuesday 12:45pm-1:45pm or by appointment
Email: christinaboucher at ufl dot edu
Lecture Time and Place:
(Tues) 1:55pm-2:45pm and (Thurs) 1:55 to 3:50, , CSE E222



Modern biological techniques are generating a variety of large-scale data, and require sophisticated algorithms for their analysis. Tasks include assembling the genomic sequence, predicting the protein-coding regions, their function and the manner in which they are regulated. The course will provide a broad overview of the computational techniques currently used in bioinformatics. Students completing the course will be able to analyze a variety of biological data, a skill they will develop through meetings with biological partners and groups projects, which will consist of algorithm implementation and application. More specifically, students will learn and directly apply:

In this course, students interact with the material through reading relevant literature, participating in group discussions, creating relevant presentations, working on an individual or group project, and listening to guest speakers. Students will apply their knowledge in a research project where they design, implement, and evaluate a bioinformatics system.


None. However, students should be comfortable and have experience with one or more of the following languages is recommended for this course: Java, C, C++ or Python. Also, students who have taken Algorithms and/or Data Structures will be more comfortable in this course, but it is not a prerequisite. No previous knowledge or experience in Biological Sciences is necessary.


By the end of the course, students should have the ability to:


This course is targetted toward an audience of students pursuing a graduate degree in computer and information science and engineering.

Course Overview

  1. Overview of Biology
    • Understand the difference between eukaryote and prokaryote cells. Be able to list some eukaryote and prokaryote species.
    • Understand the role of DNA, RNA, and proteins.
    • Be able to describe what a codon is and how DNA is converted into protein.
  2. Sequence Alignment
    • Describe the purpose and motivation of sequence alignment.
    • Articulate the difference between exact and inexact alignment and be able to provide general algorithmic methods for solving these problems
    • Ability to name tools and methods for sequence alignment.
    • Ability to understand where sequence aligment would be used in biological sequence analysis.
  3. Genome Sequencing
    • Ability to have a basic understanding of how sequencing machines work and describe the workflow used to convert biological samples to sequence data.
    • Ability to name some differences between the various sequence machines.
    • Ability to articulate the advantages and disadvantages of using various sequence machines.
  4. Genome Assembly
    • Ability to differentiate between de Bruijn graph assembly and OLC assembly and describe the algorithms of these various paradigms.
    • Ability to identify tools that implement the DBG assembly method and the OLC assembly method.
    • Ability to list the differences, advantages and disadvantages of the various assembly methods.
    • Ability to list and describe open problems in genome assembly.
  5. RNA-seq Analysis
    • Understand how RNA-seq analysis differs from genomic analysis.
    • Ability to understand and describe the major themes in RNA-sequence analysis.
    • Ability to describe the algorithmic approach for de novo RNA transcript assembly and reference guided transcript assembly.
    • List tools for de novo and reference-guided transcript assembly.


No textbook is required for this course. To provide students with access to the latest, most cutting-edge research developments in the field of NUI, weekly assigned readings will be posted to the course website one week prior to the due date. Students will be responsible for downloading the readings from the ACM Digital Library.

Grading Criteria

Activity Weight
Quizzes** 10%
Paper presentation 10%
Project proposal 10%
Project presentation 10%
Project website 20%
Research paper 40%
** You must pass the quizzes in order to pass this course**

Assignment of Final Grades

The assignment of letter grades will be made as follows:

Letter Grade Point Range
A94% - 100%
A-90% - 93%
FBelow 60%

Late and Makeup Policy

Project deliverables: Unless otherwise specified, deliverables are to be submitted via email to the instructor at the email address specified on the website. All assignments will be assessed a late penalty of 10% for each day late. After 3 days, students will receive a 0.

Quizzes Lowest grade will be dropped which will accommodate illness, interviews, or other unforeseen events. .

Important Dates

Proposal Due: Friday September 22nd, 2017
Final Project and Website Due: TBD


We will regularly hold quizzes during class. The intent is:


See the Project Description page.

Professional Conduct

All students are expected to conduct themselves professionally. I assume you are familiar with the policies in the student information sheet for the department. This course will adhere to the CSU Academic Integrity Policy as found in the General Catalog and the Student Conduct Code. At a minimum, violations will result in a grading penalty in this course and a report to the Office of Conflict Resolution and Student Conduct Services. Additionally, you are computing professionals, albeit perhaps just starting. You should be familiar with the code of conduct for the primary professional society, ACM. You can read the ACM Code of Conduct HERE.

We work to maintain an environment supportive of learning in the classroom and laboratory. Towards that end, we require that you be courteous to and respectful of your fellow participants (i.e., classmates, instructors, GTAs and any tutors). In particular: