Improving Learning Efficacy in Basic Programming Practice Based on Three-Stage Thinking | IEEE Conference Publication | IEEE Xplore