Scientific computing to foster student research: overview and conceptual framework for STEM curricula