The Art of Programming Through Flowcharts and Algorithms