This document provides an overview of programming and its applications in bioinformatics. It discusses why programming is important for data analysis, integration and visualization. It also outlines the basic concepts of algorithm and program design, programming languages, compilers, interpreters and debugging. Common programming language structures like syntax, semantics, variables and data types are explained. Finally, the document introduces Bioconductor, an open source software for bioinformatics that uses the R programming language for high-throughput genomic data analysis.