methodologies for designing algorithms 6237434