C 语言程序设计 进入课程,“C语言程序设计”线上线下 精品课程探索与实践-程序员宅基地

技术标签: C 语言程序设计 进入课程  

高爽 贾丽娟

b6c98857d075d3627cb433224d4435af.png

9f8e40bcde5224abe0314af3d5d16c9d.png

摘    要:C语言是一种通用的程序设计语言,既具有高级语言语法精炼、类型丰富、适于模块化设计等优点,也具有低级语言效率高、易控制计算机硬件等特点。文章从“C语言程序设计”课程教学现状出发,结合C语言教学团队线上线下翻转课堂教学经验,提出“C语言程序设计”线上线下精品课程建设策略,旨在培养学生解决复杂问题的综合能力与高阶思维。

关键词:C语言程序设计;翻转课堂;精品课程

中图分类号:G642.3         文献标识码:A           文章编号:1002-4107(2020)07-0045-02

课程是人才培养的核心要素,学生从大学受益最直接、最核心、最显效的就是课程。建设精品课程、一流本科教育和一流人才培养已经是高等学校必须要完成的根本任务。教育部高等教育司发布的《关于开展2019年国家精品在线开放课程认定工作的通知》,推动了我国在线开放课程的建设与应用共享。老师用心的课,有挑战性的课,有前沿性的课,就是我们所说的精品课程[1]。

哈尔滨理工大学C语言教学团队在全校率先开展了基于O2O教学模式的运行,并对前期的O2O线上线下翻转课堂教学模式进行反复运行与修改,形成了较为完善的面向全校学生的SPOC教学模式和面向全社会开放的MOOC教學模式,使得整个教学过程越来越完善[2-3]。

一、“C语言程序设计”课程教学现状

(一)“C语言程序设计”教学面临的困难

大部分高校在“C语言程序设计”课程中,以前多采用传统的教学方法,这种教学方法是教师先进行课堂讲授,你讲我听,然后再进行上机实践,来巩固和掌握课堂上教师讲授的知识点。这是一种灌输式的方法,偏重于理论的讲解,不能体现先进性和互动性,使得大多数学生对于程序设计完全没有概念,在一定程度上束缚了学生思维的发展,使得学生的综合分析能力、创新能力和程序设计实践能力都有所欠缺,无法满足社会的需要。

“C语言程序设计”课程,是哈尔滨理工大学面向全校非计算机专业理工科学生开设的一门通识课,主要在大一学年开设。这门课程是许多专业后续课程的语言工具,非常重要,但教学现状却非常严峻。(1)大一新生中的大部分学生从未接触过程序设计, 编写程序对他们而言既陌生又神秘,而且他们不仅没有建立编程思想,更没有形成编程思维。(2)C语言类型丰富,语法灵活,不仅容易出错,且出错后经常会不知头绪,无从下手。(3)“C语言程序设计”课程学时较少,多数专业是48学时,少数专业是56学时,想要在有限的时间内学明白、学深入有很大难度。(4)上机操作是学习“C语言程序设计”的重要实践途径,但课内上机学时较少,又有理论与实践相脱节的情况,给学生掌握程序设计思想和熟练编写程序带来很大困难。

(二)“C语言程序设计”教学模式探索

传统的教学模式不能满足“C语言程序设计”课程的教学现状,必须要进行改革。结合团队多年的教学实践经验及对教学方法的不断探索,开展了线上线下O2O翻转课堂的教学模式[4]。学生课前预先在线上观看视频,进行预习;教师在课堂上先对基础知识进行提问,作为视频观看的考核,然后只讲重点难点,讲精讲透;课下学生又在线上完成作业,编写程序并进行阶段性测试。这种教学模式弥补了传统教学的学时不足的缺点,锻炼了学生的自学能力,提高了学生的程序设计和解决实际问题的能力[5]。

二、“C语言程序设计”精品课程建设策略

线上教学要想取得良好的教学效果,网络平台的建设非常重要,这是学生由被动听教师讲课转变为主动在网上学习的动力所在。传统课堂以教师为主体,而转变为O2O线上线下翻转课堂后则以学生为主体。

(一)视频资源建设

视频资源是线上网络资源的重要组成部分。传统的视频以章节为单位,一段视频大约需要30—50分钟,学生会觉得时间过长、枯燥、难懂,对视频学习丧失了兴趣,效果不好。为此,在新录制视频时吸取了这个经验,把一个章节的内容以知识点为单位,进行视频的录制,每段视频的时间控制在10分钟之内。为了激发学生视频学习的兴趣与动力,避免敷衍了事,在每段视频中间会设置任务点,提出1—2个问题,回答正确才可以继续观看。

(二)编程作业系统题库建设

为了提高学生的程序分析和程序设计能力,培养学生解决实际问题的计算思维能力,哈尔滨理工大学C语言教学团队把每一章的重点难点和经典案例进行加工和改编,结合学生的实际情况,设计出一道道程序设计题目,建设了编程作业系统题库。任课教师按照不同的专题将题目分成不同的类别,例如:选择结构、循环结构、数组、指针等。

学生可以根据类别进行题目的选择,每道题目计时30分钟,分值为10分。学生在完成后提交,没有得到10分,如果尚有时间,可以返回重做;如果实在无法完成,可以在规定时间内查看参考答案。查看参考答案后,这道题目只能下次登录后才可以重做,但是学生可以再选做其他题目。这样的设置,提高了学生做题的紧张性与高效性,取得了较好的效果。

(三)考试题库建设

考试题库的建设是为了学期末对学生的综合考核,包括以下几种题型:(1)考核学生掌握基本知识程度的题型:选择题,填空题,判断题。(2)考核学生程序分析能力的题型:程序改错题,程序填空题。(3)考核学生程序设计和解决实际问题能力的题型:程序设计题。

好的线上教学不能只依靠一种网络平台,教师要求学生课前先在线上观看视频,并且互动答题,取得了较好的预习效果;课后又登录编程作业系统,进行程序设计,进一步巩固和提高;期末通过考试系统进行综合考核。三种网络资源有机结合,综合利用,取得了较好的教学效果。

三、“C语言程序设计”精品课程建设成效

(一)学生视频学习效果

视频的录制以知识点为单位,每段视频短小精炼,学生通过手机就可以随时随地在线观看,不受时间和空间的限制。对于较难的知识点可以反复观看视频,不断地琢磨研究,直至理解掌握;确实无法理解、弄懂的知识点,可以通过班级的C语言学习群在线提问,任课教师和班级学生都会实时解答。这种学习方式,促进了师生之间互动交流,激发了学习热情与动力。学生视频观看的情况,会以图形颜色和百分比的形式实时反馈,其中颜色的深浅代表视频观看时间的多少,也体现了学生的学习态度。

课前,任课教师会查看学生的视频观看情况,及时掌握学生的预习情况,动态调整本堂课的教学思路与方案,保证每一堂课都是根据学生预习的实际情况,有针对性地进行课堂讲授。这种灵活机动的教学方法,使每堂课都取得了良好的教学效果,为建设C语言精品课程打下堅实的基础。

(二)程序设计学习效果

登录编程作业系统,完成每一章的程序设计题目,不仅有助于学生对本章学习内容的巩固提升,还潜移默化地锻炼了学生的程序理解、程序分析和程序设计的能力。

任课教师期末会登录编程作业系统,统计学生编写程序的情况,作为过程考核的一个标准,计入期末总评成绩。

四、“C语言程序设计”课程考核方式

线上线下各种网络资源和题库的建设,使“C语言程序设计”课程的考核方式突出了基础与能力并重,覆盖了各个知识方面。考核过程分为平时的阶段性考核与期末的综合性考核。

阶段性考核包括三种:(1)视频的观看情况,主要考查学生的预习情况。(2)作业的完成情况,每章结束之后,会在网络平台布置本章的作业,以基础知识为主,主要是填空题和选择题,并且规定完成时间,超过截止时间不允许再做。(3)程序设计能力的考查,学生登录编程作业系统编写程序,一道题目10分。

综合性的考核是指期末在考试题库中进行组卷,试卷是包含多种题型的综合性试卷,学生线上随机抽取试卷,在线考试,考查学生的基础知识、程序分析能力以及实际解决问题的能力。

五、结论

建设线上线下“C语言程序设计”精品课程,既要不断地完善和发展网络资源,为学生在线学习提供良好的平台;又要重视课堂这一主阵地,使课堂知识与专业能力有机融合。哈尔滨理工大学C语言线上线下O2O翻转教学,紧密结合最新发展趋势,激发学生创新能力,使课程内容反映前沿性和时代性,教学形式呈现先进性和互动性,学习结果具有探究性和个性化,培养了学生解决复杂问题的综合能力和高级思维[6]。

参考文献:

[1]张竞丹,江武汉,范金坪,等.C语言程序设计精品课程    建设研究[J].课程教育研究,2019,(7).

[2]贾金芳,王晓英,刘志强,等.基于SPOC的C语言翻转    课堂教学改革与探索[J].计算机教育,2019,(1).

[3]李振江.浅谈MOOC理念的C语言程序设计课程教学    改革[J].计算机与网络,2018,(23).

[4]罗恺韵,陈晓玲.基于翻转课堂的C语言程序设计课程    教学模式改革研究[J].课程教育研究,2019,(46).

[5]朱小艳,刘俊男.线上线下混合式教学模式在C语言课程    中的应用[J].信息与电脑:理论版,2019,(24).

[6]潘晓利.“C语言程序设计”混合教学模式设计与应用[J].    计算机时代,2019,(8).

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_39796839/article/details/117023106

智能推荐

OpenCV中的随机数与随机种子_opencv rand-程序员宅基地

文章浏览阅读1.8k次,点赞3次,收藏7次。我们先从在C/C++中的随机数与随机种子说起。rand()、srand()rand()可以生成一个0~RAND_MAX之间的一个随机数,返回值是一个unsigned int类型值。rand函数不是真正的随机数生成器,而srand()会设置供rand()使用的随机数种子。如果你在第一次调用rand()之前没有调用srand(),那么系统会为你自动调用srand()。而使用同种子相同的数调用..._opencv rand

三天刷完《剑指OFFER编程题》--Java版本实现(第二天)_剑指offer java版-程序员宅基地

文章浏览阅读1.1k次,点赞2次,收藏4次。正在更新中。。。。。。。。。剑指offer --Python版本的实现:剑指offer(1/3)第一大部分剑指offer(2/3)第二大部分剑指offer(3/3)第三大部分27.字符串的排列输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。输入描述:输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。递归法,问题.._剑指offer java版

计算机视觉迎来GPT时刻!UC伯克利三巨头祭出首个纯CV大模型!-程序员宅基地

文章浏览阅读282次。点击下方卡片,关注“CVer”公众号AI/CV重磅干货,第一时间送达点击进入—>【视觉和Transformer】微信交流群扫码加入CVer知识星球,可以最快学习到最新顶会顶刊上的论文idea和CV从入门到精通资料,以及最前沿项目和应用!发论文,强烈推荐!在CVer微信公众号后台回复:LVM,即可下载论文pdf和代码链接!快学起来!转载自:机器之心仅靠视觉(像素)模型能走多远?UC 伯克利、约..._三巨头视觉大模型

qcc514x-qcc304x调试笔记-PIO相关操作_qcc304x 注册中断-程序员宅基地

文章浏览阅读720次,点赞2次,收藏5次。相关PIO接口#define PIOS_PER_BANK 32U#define PioCommonPioBank(_pio) ((_pio) / PIOS_PER_BANK)#define PioCommonPioMask(_pio) (1UL << ((_pio) % PIOS_PER_BANK))uint32 PioSetDir32Bank(uint16 bank, uint32 mask, uint32 dir);uint32 PioSet32Bank(uint16_qcc304x 注册中断

Pangu-Agent-程序员宅基地

文章浏览阅读380次,点赞7次,收藏7次。然而,在 Direct 中,即使没有明确要求,LLM 也会生成中间步骤,因为互联网上类似的小学水平问题就是这样呈现的,而这些问题很可能就包含在这些 LLM 的训练集中。因此,LLM 在这项任务中的表现会受到很大影响,特别是在 Reflect 等方法中,提示中还会包含额外的信息。同样值得注意的是,不同的方法在某些 LLM 中比在其他 LLM 中效果更好,例如 React 在 OpenChat-3.2 中的平均表现比 FS 差,而 React 和 FS 在 GPT-3.5 中的平均收益表现类似。whaosoft

wait_event_interruptible() 和 wake_up()的使用_wait_event_interruptible函数没有返回-程序员宅基地

文章浏览阅读571次。http://www.newsmth.net/nForum/#!article/KernelTech/20731 1. 关于 wait_event_interruptible() 和 wake_up()的使用 读一下wait_event_interruptible()的源码,不难发现这个函数先将 当前进程的状态设置成TASK_INTERRUPTIBLE,然后调用schedu_wait_event_interruptible函数没有返回

随便推点

Ubuntu 应用之 截图工具-flameshot_ububtu用libreoffice截图-程序员宅基地

文章浏览阅读707次,点赞4次,收藏3次。Ubuntu 18自带有截图工具,但是使用方式以及使用功能都不是很理想。还好在GitHub上有flameshot这么一款强大的linux截图工具。下载地址:https://github.com/flameshot-org/flameshot直接下载“Download zip”安装方式:下载后打开终端,具体安装命令如下:sudo apt-get install flameshot启动后,长成这个样子,每一个紫色小圈圈都代表一个功能, 是不是很强大如果觉得每次启动不方._ububtu用libreoffice截图

解决“ ModuleNotFoundError: No module named ‘tensorflow.examples‘ “_modulenotfounderror: no module named 'tensorflow.e-程序员宅基地

文章浏览阅读1.2w次,点赞5次,收藏31次。这个问题是我在用tensorflow做mnist数据集案例,程序在pycharm 2019.3.1运行时出现的问题.原因是tensorflow中没有examples解决方法首先找到对应tensorflow的文件,我的是在D:\python3\Lib\site-packages\tensorflow(python的安装目录),进入tensorflow文件夹,发现没有examples文件夹。我们可以进入github下载:https://github.com/tensorflow/tensorflow_modulenotfounderror: no module named 'tensorflow.examples

【转】在ubuntu12.04中安装wine和sourceinsight-程序员宅基地

文章浏览阅读46次。PS:用wine其实还可以在Linux下运行其他Windows软件,比如BeyondCompare,过程是一样的原文网址:http://www.2cto.com/os/201408/322370.html1.安装winesudo apt-get install wine2.安装source insight将source insight安装的可执行文件复制到ubuntu...

Javascript初级教程(适合新手)_js入门教程-程序员宅基地

文章浏览阅读1.7k次。1)定义变量的三要素 :var 变量名 = 初始化值;2)定义所有的变量都是var,而且var可以省略不写!3)js中,变量可以重复定义的,后面的值将前面的值覆盖!在js中定义函数的格式function 函数名(参数名1,参数名2,....){完成的函数的逻辑return 结果;//返回结果调用函数:赋值调用:var 变量名= 函数名(实际参数1,实际参数2..)以下为简单的函数实例var m = prompt("请输入一个数")_js入门教程

GTC 2024 火线评论:DPU 重构文件存储访问_dpu分布式存储-程序员宅基地

文章浏览阅读874次,点赞11次,收藏9次。在多样化的 GPU 存储类型的利用上,不管是块存储的 NVMe 卷作为节点内的高速缓存,还是共享文件存储作为 CPU/GPU 内存的全局缓存存储,最终通过基于对象存储的数据湖来统一治理,这些存储类型的需求和定位都跟 XSKY 的产品定位和路线图高度符合。对于国内领先的分布式存储厂商来说,我们同样认为,不仅是 Nvidia BlueField 系列产品可以提供这样的方式,这样的需求应该可以在普遍的 DPU 产品中实现并被利用,有效的提高 DPU 在存储协议上的多样化支持,并带来共享文件存储的安全性所需。_dpu分布式存储

flex两列布局,左边固定(可折叠),右边自适应_实现左侧展开折叠右侧自适应-程序员宅基地

文章浏览阅读9.7k次,点赞2次,收藏8次。需求:左边导航栏固定宽200px,并且导航栏可折叠隐藏,右边自适应,填充剩余的宽度. html:&amp;lt;div class=&quot;body&quot;&amp;gt; &amp;lt;div class=&quot;sidebar&quot;&amp;gt; &amp;lt;div class=&quot;bar&quot; id='bar'&amp;g_实现左侧展开折叠右侧自适应

推荐文章

热门文章

相关标签