In the last decades, the amount of structural data from molecular biology has grown by an order of magnitude. Structural bioinformatics methods have been developed to analyze and to model macromolecular structures in order to provide biological insights on structure-function relationships. In this course, we will cover basic computational techniques in handling and analyzing proteins including the use of structural databases, molecular visualization, structure alignment and comparison. In addition, advanced algorithms in rational drug design, structure prediction, modeling and simulations will also be introduced. All theoretical and computational approaches will be exemplified with practical examples alongside with essential biology concepts.