特色一:“循序渐进,螺旋向上”的课程内容安排

我们在课程内容组织方面,采用了“循序渐进,螺旋向上”教学内容组织架构,着重于编程问题的解决,而把较为复杂的有难度的语法知识延后或者穿插介绍。例如,教学初期,重点介绍控制语句的使用,而将数据类型和表达式的介绍穿插于其中,培养学生用计算机思维思考问题;教学中期,介绍函数的概念,通过复杂任务的分解为函数模块的过程,进一步强化学生的计算机思维,而将数据、指针等与数据结构相关的概念延后介绍;其后,在学生能够理解计算机程序运行机制了以后,再介绍如何利用数组、指针等高级的数据结构改善程序的运行和执行效率。这种循序渐进的方法,有利于学生将人的思维模式转变为计算机内部存储和计算资源的调度思维,取得了较好的教学效果。

特色二:“现场教学,边学边做”的教学组织形式

我们课程组织形式上,采用偏向于上机教学的教学组织方式,即“现场教学,边学边做”。每次教学安排是4个连续学时。教师先讲授某个知识点,然后在现场布置1-2个小问题,要求学生当时编程实验解答;教师可以查看学生在编程中出现的问题,及时解答并汇总总结。教师在授课学时内多通过实际编程环境演示、知识点探索展示等环节提高学生对于编程环境的熟悉程度,在上机时鼓励学生自主利用编程手段了解和学习C的语法。教学实践表明,这种组织方式将课内教学与上机实践紧密结合,强化留学生的实践能力训练,有效地提高了学生的实际编程能力。

创新点一:基于微信的互动教学方式

通过采用微信交互的方式,较为有效的调动了留学生的参与积极性。在每次上课的前五分钟,教师可以通过手机开启签到模式,这时学生可以通过微信手机客户端,点击“signin”签到。在授课过程中,教师可以通过手机发布事先录入的试题,要求学生现场解答,这时学生可以通过手机在线做题答题,教师可以通过微信查看到相关的答题情况,包括最先回答正确的前几名学生的姓名、学生答案的分布情况等等。这样教师就可以有针对性的进一步讲解相关知识点。经过课程组的教学实践,通过微信交互点名、课堂提问,增加了课堂的交互程度,提升了学生的参与感和学习兴趣,对于课堂组织和教学推进起到了较为明显的作用。

创新点二:增量螺旋式的项目内容设计

在具体项目编程内容的设计方面,我们也采取遵循“螺旋式”教学组织的思想,对各教学现场实验的内容进行编排,实现“前后关联,螺旋上升”的效果。例如在讲授“数组与函数”的时候,要求学生编制实现数组元素随机化的函数;该函数在后续内容“数组排序”的时候,可以被重复调用,用以观察冒泡排序的元素交换过程。而针对冒泡排序的算法,也要求学生编制相应的排序函数;该函数在后续内容“指针与函数”的时候,要求学生改用指针偏移寻址的方式重写一遍,用以对比分析数组名和指针在访问数组元素上的区别。通过这样的对比实验,加深了学生对于关键概念的理解和认识,也达到了鼓励学生多修改自己的代码的效果,激发了学生主动通过代码修改学习新概念的动力。