C语言是一门广泛应用于计算机科学和工程领域的编程语言,是许多高级编程语言的基础,是“信息+”时代背景下的重要基础课!本课程旨在培养学习者的工程思维、基础算法思维、编程思维和程序实践能力,为面向专业综合/复杂问题开展基于程序设计的融合创新奠定基础!
针对初学者学习该课程存在的问题:
1)基础知识学习难:基础语法多、理论性强、程序思想抽象,且章节间联系紧密;初学者常感到课程枯燥、灌多了记不住、前面没学懂后面没法学。
2)案例分析设计难:传统以知识讲授为主,验证型程序案例为辅的教学体系,导致初学者的程序思维、工程思维训练不足;学生基础薄弱,面对实际问题,学生难以自顶向下地进行合理的分析、抽象,并设计出有效的程序方案。
3)程序实现难:学生练习任务类型单一,课堂与实践脱节;初学者缺少实践的经验,在处理编译错误、语法排查、程序调试等问题常不知所措,实践挫败感强。
本课程以立德树人、学生发展为中心,从学生的认知规律出发,设计开发了一系列功能逐渐丰富的递进式案例:
1)将“知识链融入案例链,构建以递进式案例为载体的教学内容体系”。视频体系按照C语言基础语法的层进关系、知识理解层面的递进关系构建知识链;并根据知识块的划分,设计功能逐渐丰富的递进式案例。把知识链融入到案例链中,为学生开展“做中学、学中做”奠定基础。
2)把“反向细化与正向达成”的思想作用于递进式案例,引导学习者开展阶梯式学习。先从案例分析出发,引导学习者从难到易、从繁到简,对案例功能进行反向细化,培养学习者问题分析与设计能力。然后,从学习者的认知规律入手,先正向达成案例的初中阶功能,再进一步探索案例的高阶功能,并培养案例的拓展与延伸探究能力。
3)将案例中体现的显性和隐性课程思政,贯穿到案例的学习中:通过课程思政“巧入”课程知识点和案例,促进知识能力与价值的协同,也让课程思政精神反促进课程的学习。
4)以视频中的案例体系为基础,让学习者先学会运用“反向细化与正向达成”的方法,分析、设计和解决问题,然后进一步通过补全、逆向和独立/延伸任务,让学习者先学会在已有代码基础上,适当改写程序;再进阶到能够分析程序的框架,把多段已有的代码调用起来实现自己需要的功能;最后,再让学习者丢掉拐杖,训练独立编程能力,从而逐渐提升程序编写能力。