Scientific Computer Programming Using Object Oriented Methodologies