The algorithms for computational biology course provide the background knowledge useful for the design of algorithms for analysis of biological systems. Topics include vector geometry, matrix algebra and recursive relationship, algorithm concepts and optimization, basic biological techniques for predicting interactions, databases, graph algorithm libraries, network topological properties, phylogenetic profiles, predicting function including integer programming, modularity, partitioning heuristics, spectral partitioning and dense sub-graph detection, network searching and alignments, speeding-up searches and color coding, random models of biological networks including duplication model, small world, preferential attachment models, evolving modularity, generating random graphs, dynamic networks, linear programming algorithm, semi-definite, side chain packing, and phylogenetic trees and reassortment detection algorithm.