办公室:0553-8795000/3913500 招生咨询:0553-3913567 人才招聘:0553-8795011

(原安徽工程大学机电学院)

教育教学
教改实践 学校首页>教育教学>教改实践>详情页
计算思维导论(C语言)课程教学改革方案
教务处0 2018/07/06

教学现状      

一、课程受众定位与目标

课程受众定位:从未接触过计算机编程语言的低年级学生

本门课程教学目标包括两个方面,第一以建模和仿真为中心,主要通过案例进行合理抽象,并补充计算机相关的基础知识,最终让学生具有计算思维能力;第二学习C语言中的一些主要内容,包括数据类型,三大结构和函数等,最终通过C语言将抽象出来的模型进行自动化实现。

二、传统教学内容现状分析

目前,计算思维导论课程在国内只有少数几个学校开设。很多学校都是在学生没有对计算机科学的基本概念掌握上,直接进行编程语言(大多数学校开设课程为C语言)的学习,这样容易导致学生对编程语言理解的困难,需要很长一段时间进行适应。大部分学校在对计算机科学概念介绍时,也只是停留在概念的区别上,没有采用有效的实践进行深刻的体会。

同时,在本门课程的传统教学过程中,大部分的课时将用于函数内容之前,因为前期的基础和三大结构需要花费很多时间,而在这时大部分学生处于刚刚接受计算机语言的编程方式,只有小部分学习好的学生,形成了这种完全过程式的思维模式,按照传统的课程资源的设计,这个时候将提出函数的概念,不仅仅是课程知识点的继续学习,某种意义上更是新的思维方式的引入,这就需要学生抛弃刚刚形成的思维方式,接受并建立模块化的思维方式,这一点在短期内实现是很难的。

从学生的实际情况来看,大部分学生在《计算思维导论(C语言)》课程之前没有编程基础,C语言对于学生来说属于入门学科,而在一门入门课程中不仅要完成知识点的学习,并且实现两种思维的转换,这种教学效果是不理想的。

《计算思维导论(C语言)》课程更重要的是让学生形成编程的感觉,有模块化的思维方式,而思维方式可以在学生没有任何编程语言的基础下建立。学生在学习《计算思维导论(C语言)》课程之前,对于任何一种编程的思维方式,可以说大部分是没有概念的,因此让学生在初期就建立函数的思维方式和建立完全过程式的思维方式,这两者是没有差别的,对于学生而言,都是接受一种新的思维方式,因此应当设计新的课程资源,首先引导学生建立函数的思维方式,然后随着项目功能的扩大学习新的知识,而不是知识点的强制堆积。

三、传统考核形式现状分析

传统的考核采用“一考定合格”的方式,但是这种方式的考核,存在一定的弊端,期末考试侧重理论知识的考核,不能检测学生综合项目开发的能力以及整门课程学习过程的学习情况,而且大多数学生都是以考前疯狂背诵记忆的方式应对,所以从传统的角度考虑是不合理的,因此《计算思维导论(C语言)》课程应采用过程考核的方式,从多个维度考核学生的整体素质。

四、传统授课模式现状分析

大部分学生在课前没有准备工作,有的只是对新内容简单预习,有的甚至不做预习工作,并且课上更多的是以老师讲授为主,学生缺乏自主思维的能力,在课堂上总是被动接受知识,所以课堂效率低,授课效果不是很理想。因此在授课模式上应改掉学生依赖老师、依赖课本、照着老师划定的重点死记硬背的旧习惯,要引导学生养成主动、自觉、灵活的学习习惯,就显得尤为重要。

五、存在问题

本门课程的教学现状主要存在以下四个问题:

(一)整门课程的教学过程没有培养学生自主学习的能力,教师讲解的内容较多,而在当下,尤其是计算机行业相关的技术可以说是日益更新,学生必须具有自主学习的能力,能够不断学习新的技术才能在计算机行业得以立足,因此在总的课程培养中应将学生自主学习能力的培养放在首要位置;

(二)课程资源内容存在不足,主要是两个方面,第一点缺少思维的培养,课程资源中需引入数学或物理模型,提高学生逻辑思维和建模的能力,第二点C语言部分主要是培养学生编程的感觉,建立模块化的思维方式,所以课程内容上应进行调整,让学生在编程的开始就具有函数化的思维方式,另外学生的实践环节应增加;

(三)考核方式需要进一步改善,目前考核方式中对于学习过程的考核主要来自于学生的平台学习情况,缺少阶段性集中式的考核;

(四)不能满足个性化的需求,学生在学习的过程中,每个人的学习情况是不同的,对同一个知识,每个人的掌握情况也是不同的,而现有的资源不能针对性的向学习者提供个性化的学习资源用于巩固提升。

 

改革目标      

《计算思维导论(C语言)》课程设计紧密围绕学院规划及应用型人才培养定位,通过建设信息化教学服务平台(智慧学习平台),深入推进教学模式、教学考核评价和资源体系改革,真正落实“以学为主”的教学模式,建立以学习者为中心的个性化学习体系。

课程教学改革将达到以下五个目标:

1  采用自主学习的教学模式提高学生自主学习的能力;

2  提高学生的计算思维,在资源设计中引入数学或物理模型;

3  优化结构,调整函数化思维的引入,培养学生编程的感觉;

4  进一步完善考核机制,实现教考分离,从全方面考核学生的综合素质;

5  满足个性化的需求,提供针对性的资源,实现自适应学习。


具体措施      

一、教学内容改革

为避免出现国内大部分课程中注重语法的讲解,而没有通过实践培养学生抽象和建模的能力,本门课程在教学内容上引入数学和物理知识,引导学生自主分析问题和建模的能力;以项目化实战的方式,培养学生计算思维和编程感觉的建立。

1.基于模块化分析问题的能力建立,合理设计教学思路

本门课程打破传统的教学思路,将函数思维的引入放在首要位置,学生在初步感受C语言工程后 ,将通过一个综合案例,引导学生从输入、处理、输出三个角度去思考问题,形成模块化的思维方式,利于学生在后续的学习过程中,能够通过函数化的方式分析解决问题。这个部分理论性强,更多的需要学生理解领会,因此该部分不仅通过文字和配图的方式进行讲解,另外配有视频进行详细的剖析。

2.基于个性化学习方式,实现个性化学习内容推荐以及个性化学习模式的建立

学生在学习的过程中,每个人的学习情况是不同的,对同一个知识,每个人的掌握情况是不同的,因此在资源设计时,应当满足个性化学习的需求,将每一个知识内部进行详细的划分,这样才能根据每个人的学习情况,推送个性化的题库用于学习者的巩固和提升。

两种学习模式:普通模式和学霸模式。普通模式只需学习基础章节,并且每个章节中只学习初级资源和中级资源;学霸模式需要学习基础章节中初中高三个等级的资源,并且还要学习扩展章节。

基础章节:C语言入门、简易计算器案例引入与分析、C语言输入与输出、函数、运算符、C语言基本逻辑、编程规范、数组、指针。

扩展章节:枚举、结构体、文件。

接下来将以C 语言基本逻辑章中的选择结构和循环结构两小节内容为例,分析个性化推荐学习的路径。

对于选择结构和循环结构两小节之间的学习顺序是固定的,学生首先学习选择结构部分的内容再学习循环结构部分的内容;而对于选择结构内部的资源学习将采用个性化推荐的方式,下面是普通模式选择结构内部个性化推荐学习的流程图,其他章节和学霸模式的学习流程规则不变。

 0.gif

个性化学习示例流程图

补充说明:区域A为小节间(选择结构和循环结构)的线性流程;区域B为选择结构小节内的个性化推荐学习过程。

关键流程说明:假设学生甲开始选择结构初级资源的学习,并且第一次随机抽取的试题集A未通过要求,此时区域B中的“判断是否大于等于两次未通过”的判断条件不成立,将进入区域B中选择结构初级资源的学习,平台将随机推送习题集B供其练习,若再次未通过,将从试题集AB的前置标签中级题库中,随机选择10题进行练习,若通过练习,将回到区域A中继续选择结构初级资源的学习,此时若第二次未通过区域A中随机抽取的试题,系统将发出预警,安排教师线下辅导。

线下辅导:将学生预警推送给老师并安排个性化辅导,老师认为通过后,有权解锁,进入下一个环节的学习。

区域B中,从试题集AB随机选取的试题范围:

初级阶段:自身知识点的初级题和前置知识点的中级试题。

中级阶段:自身知识点的中级题和前置知识点的中级试题。

初级阶段:自身知识点的初级题和前置知识点的中级试题。

高级阶段:自身知识点的高级题和前置知识点的高级试题。(此种情况只在学霸模式中有)

3.基于能力导向应用型人才培养要求分解,合理设计迭代式教学案例

本门课程共涉及3个综合案例,且这3个案例的难易程度及作用不同。首先通过第一个综合案例引入函数化的思维模式,从输入、处理、输出三个维度引导学生分析项目需求,从而使学生形成模块化的思维方式,然后随着项目需求的扩大,提出问题并引出新的知识;第二个综合案例主要用于配合第一个案例,学生通过第一个综合案例学习知识,同步的通过第二个综合案例巩固和提升能力,在难度上,第二个综合案例比第一个综合案例要难,其业务逻辑较第一个更为复杂;第三个综合案例是学生在学完整门课程后的一个综合大项目,案例给出项目需求,要求学生自主进行需求分析和详细设计,最后通过C语言实现项目。

4. 基于引导式及项目化驱动学习方式,合理设计教学内容

本门课程首先引入函数化的思维方式。函数化的思维方式需要培养学生将一个大的项目进行模块化划分的能力,函数的关键在于输入处理输出这样三个部分,因而课程将采用学生比较熟悉又易于理解的生活场景出发,然后通过项目需求的扩大,不断的学习新的知识,进行版本的迭代。根据单元能力及思路给出章节内容简介,详情如图所示。

 1.gif

本门课程章节划分表

一、C语言入门

本章主要包括两大部分,第一部分首先回顾计算思维导论基础课程的核心内容,通过实现自动化的需求,引入课程,然后通过Hello World工程让学生对C语言有初步的感知,最后通过Hello World工程简单的讲解程序的编译过程以及C语言的注释和VS开发工具的介绍;第二部分分析现实生活的场景,引导学生分析场景中的数据,从而引入变量、常量的概念,然后讲解基本数据类型以及变量和常量的使用。该部分主要通过自主学习的方式。

二、简易计算器案例引入与分析

本章给出综合案例--简易计算器,通过简易计算器引入函数的思维,从输入、处理、输出三个维度进行需求分析。如用户输入数据;main函数作为接口,接收数据,并将数据传递给函数;函数处理并返回结果;main函数接收函数返回的结果,并展现给用户。该部分中函数的引入通过视频进行讲解,并形成简易计算器V1.1;函数的声明及定义通过自主学习的方式。

三、C语言输入与输出

本章通过分析实现简易计算器V1.1中用户输入功能,引入C语言输入输出部分的内容,形成简易计算器V1.2。该部分通过自主学习的方式。

四、函数

本章首先提出问题:如何将简易计算器V1.2中用户输入的内容,传递给calculate函数进行计算处理。在这个部分讲解函数的参数、返回值以及函数的调用。该部分内容通过自主学习的方式并形成简易计算器V1.3

五、儿童寻找高手V1.0

本章是前面所学内容的综合应用,给出“儿童寻找高手”项目需求,要求学生通过需求分析模块化划分项目,形成儿童寻找高手V1.0

六、运算符

本章具体实现calculate函数的处理功能,引入运算符部分的内容。该部分内容通过自主学习的方式并要求学生自己实现calculate函数。

七、C语言基本逻辑

C语言基本逻辑主要包括选择结构和循环结构两个部分,首先分析计算器如何自动判断运算符,实现自动化计算的功能,引入学习选择结构部分的内容,该部分要求学生实现两个版本,一个用if多选择实现(简易计算器V1.4.1),一个用switch多选择实现(简易计算器V1.4.2);然后扩展简易计算器的需求,实现累加的功能,引入循环部分的内容,形成简易计算器V2.1。该部分通过自主学习和项目实战的方式。

八、编程规范

随着学习内容的增加,代码量也在倍增,在本章中主要讲解一些基本的编程规范,这样有利于学生形成良好的编程习惯,这也是本门课程资源中新增的内容。

九、数组。

本章通过类比生活中的例子引出C语言中的数组,然后从一维数组、字符数组和二维数组三个方面具体讲解数组的定义及使用。

十、儿童寻找高手V2.0

在第一版中,完成了儿童寻找高手项目的需求分析和详细设计,在本章中将综合运用所学知识实现儿童寻找高手项目。

十一、指针

通过类比普通变量解释说明指针的概念,该部分要求学生掌握简单指针及字符指针的定义和使用,对于二维指针将会在高级资源中简单讲解,该部分内容主要采取学生自主平台学习的方式。

十二、枚举

本章引入简单的自定义类型——枚举类型,在本章中主要讲解枚举类型的定义及其使用,更重要的是向学生诠释为什么要使用枚举类型,以及使用枚举类型的好处。

十三、结构体

本章主要介绍枚举类型的多种定义方法以及枚举数组的定义,通过案例场景提出问题,最后引出使用新的自定义类型保存数据信息。

十四、文件

该部分属于高级资源内容,学生通过该部分的学习能够在程序中通过读写文件的方式读取或存储数据。

十五、儿童APP认知应用

本章是一个线上综合项目,给出了项目需求,要求学生自主进行需求分析,然后引导学生自主进行模块化分析,最终通过代码实现项目,总体上本章综合性较强。

5. 课程资源中引入初等数学知识和物理模型,提高学生分析问题和建模的能力

为锻炼学生的思维,在本门课程资源中引入初等数学知识和物理模型,引导学生分析问题和建模的能力,然后使用C语言自动化实现,从而改变以往C语言只学语法,不能锻炼学生思维能力的问题。

本门课程将涉及的初等数学、物理知识的范围包括一元、二元方程组、一元、二元不等式、最优盈利、分解质因数、数列、最大公约数、最小公倍数、阶乘、排列组合、几何、运动轨迹、掷球模型、波形图、小球碰撞等。

二、教学方法和手段改革

《计算思维导论(C语言)》课程紧密围绕学院规划及应用型人才培养定位,通过建设信息化教学服务平台(智慧学习平台),深入推进教学模式、教学考核评价和资源体系改革,全面落实以学习者为中心的个性化学习体系,真正落实“以学为主”的教学模式。

1.利用信息化教学服务平台(智慧学习平台)实现由“教”向“学”的转变

结合计算思维C语言课程目标与学习内容,充分考虑当前行业、产业核心技术和能力要求,利用信息化教学服务平台构建与课程知识体系相配套的知识框架、学习资源及题库等。

 2.gif

计算思维C语言课程知识点框架展示图

“教”的改变:通过平台引导式教学代替传统的讲师理论授课,释放教师课堂精力,专注于重难点知识讲解和课堂辅导答疑。

传统教学方法中,讲师针对概念性和语法性的知识点往往都是通过传统的板书教学或PPT教学为主,在讲解的过程中往往教师仍然扮演着知识的权威占有者、传递者、解说者的角色,把程序设计课堂教学重点放在语言规范和实例练习的讲授上,希望学生通过一些记忆的方法被动地接受某些概括性的知识,如:C语言中,如何定义变量?什么时候使用选择结构?什么是指针?等等,学生很少有机会自主发现问题、探究问题,最后的结果是教师把教材讲得越明白仔细,学生被动接受的知识越多,学生的疑问反而越多。

而采用信息化智慧学习平台,则会大幅度释放讲师对原理性知识点讲解的精力与重复率,该类知识点可通过学习平台引导式教学,讲解的同时穿插习题强化巩固,讲师只需要针对章节的重难点进行把握,以及学生的辅导答疑,做到每个学生有针对性的指导教学。

 4.gif

原理性知识讲解展示页面

 5.gif

(针对知识点同步习题展示页面)

“学”的改变:学生通过学习平台进行自主学习,可针对自身学习习惯和学习能力自主安排学习时间,提高学习效率,将课堂强制性被动学习改为有针对性的自主学习。并且针对不同的知识点采取不同的学习方式:

 blob.png

不同知识点与不同学习方式对应图

 6.gif

理解性知识点学习方式展示页面

2.打破传统教学方法,实现线上综合项目自主编程

线上综合项目自主编程:给出项目需求,学生自主进行需求分析,然后通过平台在线实现项目,同时平台能够完成线上检测。

 7.gif

在线平台案例分析展示页面

3.基于智慧学习平台,建立辅导员与老师课内外学习协同管理机制

教师和辅导员能够实时了解学生的学习情况,进行针对性的辅导答疑,从而有效的提高教学质量。

 9.gif

(教师端课程展示页面)

三、教学模式改革

区别以往的教学模式,在整个教学过程中,侧重学生个人学习能力的培养,老师,助教的角色演变为技术的指导者,帮助学生解决学习中的问题。所以本门课程的学习模式为“学生自主学习,智慧学习平台支撑,老师、助教辅助,梯形团队管理”,主讲老师大班理论、重难度讲解,   助教小班作业辅导。

在该模式中,讲师、助教和辅导员承担不同的角色和职责,讲师角色定位于解决学生学习质量问题,制定引导式计划、查看平台数据、整理授课内容、助教相关任务安排;助教角色定位于提升学生自主学习质量,针对自主学习进行辅导答疑,督促学生提交线下作业,督促学生完成学习计划;辅导员主要协助解决学生不学问题,跟踪不学学生情况并及时反馈给主讲老师。另外针对该模式教学的规范配套课程材料,包括:学习指南、个性化教案、实施计划、平台资源等。

 blob.png

(基于博思平台翻转课程实施流程图)

四、考核模式改革

传统的一考定成绩的方式,导致大多数学生都是以考前疯狂背诵记忆的方式应对,因此本门课程采用过程考核的方式,从多角度考核学生的综合素质能力。

1.平台过程学习考核(30)

在线平台考核采用进度与正确率综合评分考核方式,且该部分由两门课程组成,分别是《计算思维基础》、《计算思维C语言实现》。

 8.gif

(计算思维课程展示图)

在线平台考核标准为:各章节学习内容进度为100%,且正确率达85%(含)以上,平台过程学习考核项给予满分;凡有章节学习内容进度低于70%,平台过程学习考核项不给分;其它相应给分。

并且,通过在线平台数据表显示,我们可以清楚地跟踪与了解学生是否完成课程课下所有课时的学习,该数据表会在课程结束时导出来作为学生平台考核的依据之一。

2.教师考核(15)

教师考核作为考核中重要的一个组成部分,在学生的学习生涯中占据重要的一环,为了避免老师的主管臆断和判断,我们将教师考核分为有价值贡献及出勤(10)和综合大作业(15)

1)有价值贡献及出勤(5)

该考核主要针对学生平时上课的出勤率,有价值的贡献情况予以给分。

注意:如果课堂出勤有三次(3课时)无故旷课,则整个讲师考核(30分)全部记为0分。

为促进学生更多的进行学习交流分享,有好的共同进步的精神,将以下两点列入贡献点的考核:1、实验课有价值的分  2、享有价值的文档分享

2)综合大作业考核(10)

两个综合大作业分阶段考核学生的综合素质能力,对整门课程的学习过程进行阶段性的考核。综合大作业的内容是项目编程,共分为2次,作业产物为项目实际代码。

 blob.png

 

3.线上综合项目考核(10)

建立统一知识技能体系对应题库 ,学生在学完本门课程所有内容后,将通过平台进行线上测试,平台展示测试项目需求,学生自主进行需求分析,并线上作答,最后平台将反馈学生综合项目的完成进度以及正确率。 过程考核通过平台抽题方式进行考核。

4.期末考核(45)

本次期末考试采用笔试的方式进行,按照学校教学计划放置考试周进行。期末试卷的考核范围是普通模式包含的所有内容知识点。

其中期末的笔试有“一分否决权”,如果期末笔试的卷面成绩在50分以下,则该门课程直接不及格,如果课程高于50分,则按照卷面的35%比例归入期末成绩中。

最终成绩计算方法:

最终成绩计算 :

if(期末成绩<50)

              最终成绩=期末成绩

if(期末成绩>=50分)

最终成绩=平台过程考核*30% + 教师考核*15% +线上综合  项目考核*10% + 期末考核*45%