Bioinformatics Programming II - Spring 2011

Welcome to the home page for Bioinformatics Programming II, course catalog numbers BINF 6112 and ITCS 8112. This class is the second semester of the two semester series Bioinformatics Programming, a core course in the Bioinformatics program at UNC Charlotte. Your instructor is Prof. Ann Loraine. For more information about Dr. Loraine's background and research interests, visit the Loraine Lab Web site.

Wei Song ( is the Teaching Assistant for the class.

Python links and resources

Java textbook and resources

Class Meeting times Spring 2011: Class meets Wednesday and Friday, 09:30-10:45am, in the Bioinformatics building computer lab.

The class repository is accessible from

To check out a copy, do something like:

svn co --username=aloraine 
substituting your user name.

Class Schedule

Subject to change - please check often

Week 1 Jan 12 - Jan 14

Class 1: Welcome Back! BINF 6111 review
Homework: ExamOneStudyQuestions

Class 2: Review

Week 2 Jan 19 - Jan 21

Class 1: Exam

Class 2: Analysis of Algorithms

Week 3 Jan 26 - Jan 28

Class 1: Analysis of Algorithms
Homework: Analysis of algorithms
Extra Credit: More questions about algorithms

Class 2: Analysis of Algorithms

Week 4 Feb 2 - Feb 4

Class 1: Biopython
Assignment: Biopython Intro
Due: Analysis of algorithms
Due (Extra Credit): More questions about algorithms

Class 2: Biopython

Week 5 Feb 9 - 11

Class 1: Review (led by Wei)
Due: BioPython Intro

Class 2: Exam 2

Week 7 Feb 16 - Feb 18

Class 1: Welcome to Java
Reading Assignment for next class:: Chapters 1, 2, and 3, Eck Textbook
Prepare for next class: Answers to Chapter 1-3 Questions
Assignment: NetBeans and Java
Reference: Searchable Javadocs Source code:

Class 2: Development Tools and Introduction to Java
Reading Assignment for next class Chapters 4 and 5, Eck textbook
In-class Discussion: Eck Chapters 1-3 questions
Prepare for next class: Answers to Chapter 4-5 Questions

Java links, history of C-like languages:

  1. Dennis Ritchie's home page.
  2. Bjarne Stroustrup's home page.

Week 8 Feb 23 - Feb 25

Class 1: Programming in Java
In-class discussion: Eck textbook Chapter 4-5 Questions
Due: NetBeans and Java
Assignment: From Python to Java.
Reference: Searchable Javadocs

Class 2: Programming in Java
Reference: How to write comments for the Javadoc Tool (javadocs)
Reference: Java API

Week 9 Mar 2 - Mar 4

Class 1: Programming in Java
Reference: Python and Java: A Side-by-Side Comparison
Reference:Java for Python Programmers

Class 2: Programming in Java

Week 10 March 9 - 11 Spring Break

Week 11 March 16 - 18

Class 1: Unit testing in Java
Reading: Writing JUnit Tests in NetBeans IDE
Assignment: JUnit: Unit Testing in Java
Due: From Python to Java.

Class 2: Unit testing in Java

Week 12 March 23 - March 25

Class 1: Graphical User Interface (GUI) Programming
Due: JUnit: Unit Testing in Java
Reading: Chapter 6, Sections 6.1-6.3, Eck textbook
Assignment: Graphics and drawing in Java (in class)

Class 2: GUI programming
Assignment: A simple GUI
Reading: Chapter 6, Sections 6.4-6.8, Eck textbook
Reading: Writing an event producer
Reading: Using the EventObject class

Week 13 March 30 - April 1

Class 1: GUI programming, cont.
Due: Graphics and drawing in Java

Class 2: NetBeans GUI builder
Reading: Designing a Swing GUI in NetBeans IDE - Tutorial
Reading: Introduction to GUI Building - Tutorial

Week 14 April 6 - April 8

Class 1: Using Java samtools
Assignment: GUI for BAM
Due: A simple GUI

Class 2: Using Java samtools, con't

Week 15 April 13 - April 15

Class 1: Java Web Start (Quick Start Guide)
Reading: Java Web Start (wikipedia)
Reading: Enabling Java Web Start in the NetBeans IDE
Video: Java Web Start and NetBeans 6.1 (Somewhat out of date)
Reading: Last semester's JWS guide - Step 4 only (Somewhat out of date)
Due: GUI for BAM

Class 2: Review

Week 16 April 20 - April 22

Class 1: Exam3

Class 2: No class (holiday)

Week 17 April 27 - April 29

Class 1: Demo your app
Due: Java Web Start deployment of your GUI for BAM
In-class Assignment: Interactive testing.
Grades update: Scoring and grade range.

Class 2: Testing follow-up - demos.

Congratulations - you are now a bioinformatics programmer!