
The code has two classes, the first one named Dynamic Programming.cs and the second named Cell. cs. I will discuss the details of Dynamic Programming.cs class in the following lines because it describes the main idea of my article. The first class contains three methods that describe the steps of dynamic programming algorithm. The first method is named Intialization_Step, this method prepares the matrix a(i,j) that holds the similarity between arbitrary prefixes of the two sequences. The algorithm starts with shorter prefixes and uses previously computed results to solve the problem for larger prefixes. The second method named Get_Maxcomputes the value of the cell (j,i) by the Equation 1. The third method is named Traceback_Step. This method will produce the alignment by traversing the cell matrix (N-1,M-1) back towards the initial entry of the cell matrix (1,1).