AICODE在C语言教学中应用研究

AICODE在C语言教学中应用研究

摘要:本文研究了AI-CODE作为一种教学工具在C语言教学中的应用。首先,对传统C语言教学的不足、枯燥、缺乏互动进行了分析。其次,对AI-CODE进行了由浅入深的介绍,并摘取片段进行教学实例分析;最后,进一步论证了AI-CODE在C语言教学中的价值。

关键词:AI-CODE;C语言;教育;互动;平台

引言 传统C语言教学中存在的问题

传统的C语言教学方式是教师在讲台上认认真真的按照课本大纲来讲述,学生则端端正正的坐在座位上听讲。这种教学方式非常枯燥,并且在很大程度上存在着单向性(也就是我们常说的填鸭式教学),教授者与被授者之间缺乏互动性,使得很大部分的被授者对知识点的理解还停留在表面上,普遍对学习产生除了考试有用外没有其他作用的厌学情绪,学完就交还给教授者了。

这种教学方式没有意识到C语言作为计算机的一种编程语言自身的特性。所谓C语言实质是人和计算机交流的工具,具有双向的功能:(1)人通过计算机能够理解的方式编辑相关的指令(C语言程序)下发给计算机来执行,这时人是发令者,计算机是受令者;(2)计算机在执行完相关的指令(C语言程序)后,把执行结果返回给人,或者提示人来进一步输入信息。这时计算机是发令者,而人是受令者。

由此可见,C语言和一般的人类语言是很相似的,即是一种双向交流工具。掌握了C语言的这个特点,在进行C语言的教学时,就应该考虑两个互动:(1)人与计算机的互动;(2)老师与学生的互动。

那么在C语言教学中如何实现两个互动?如何让被授者体会到学习的乐趣,并逐渐使被授者喜欢上学习呢?本文研究讨论引入AI-CODE这样一种教学工具来解决该问题。

一、AI-CODE简介

AI-CODE是一套游戏编程竞技教育平台,同时AI-CODE集虚拟机器人运行平台、机器人程序编辑平台于一身,为编写虚拟机器人程序提供了全方位的服务。以机器人足球为主题的AI-CODE平台也称为AI-RCJ。AI-CODE可以从C语言、C++语言和java语言中任选一种进行代码的编写。

AI-CODE以寓教于乐的方式,打破了传统教育的模式,让学生在积极、主动的竞争中激发学习C语言编程的兴趣并逐步提高自己的C语言编程水平。学生通过机器人控制接口控制机器人的动作,编制好的机器人可以放到“战场上”和其他学生开发的机器人同台竞技,在比赛的过程中感受到学习所带来的快乐。使学生在“玩”的过程中不断学习C语言程序设计和计算机编程算法。

AI-CODE还为不同水平的用户提供了一系列解决方案。满足不同水平层次用户的需要。这样学生就能不断提高对自己的要求,把编写的C语言代码的质量切实提高上去。

二、AI-CODE的特点

(一)愉快学习、寓教于乐

以竞技游戏和比赛、任务驱动的方式进行学习和思维训练。

(二)结合课改精神、重视学科整合

涉及计算机程序设计、数学、物理、人工智能、网络等知识。

(三)学习的可持续性强

是一个终身学习的平台,从程序设计入门到人工智能策略的思考运用,实践中你总能找到由于自己知识不足而应该去学习的地方。

(四)适用人群广泛

中小学生、大学生、编程爱好者等。

三、AI-CODE的运行界面和编辑器

AI-CODE的运行界面如图1所示。

该运行界面主要用于选择机器人进行比赛,并显示比赛过程和比赛结果。

AI-CODE的代码编辑器如图2所示。

该编辑器用于编写机器人控制程序,CodeCanvas是程序代码编辑器,学生可通过手工编写代码来生成机器人程序。

四、机器人程序的教学范例

AI-CODE系统会自动生成一部分程序,学生只需根据具体情况加入相应的代码,就可以完成对机器人的编程,举例说明如下。

#include

/**

* 机器人执行函数

*/

void run()

{

/*在这里添加控制机器人的代码*/

}

学生可以编码完成以下函数,实现把机器人移动到坐标点(30,30):

/* 移动到坐标点(30,30) */

doMoveTo(30, 30);

通过机器人结构的介绍,学生可以了解以下C语言编程方面的知识:

(一)程序由函数组成;

(二)函数由各种语句组成,组成一个函数的各种语句被包含在一对大括号{……}当中。在一个函数中可以调用另一个函数;

(三)每条语句都以分号结尾,一般在一行中只写一条语句;

(四)可以用/* ……*/对程序中的任何部分作注释,以增加程序的可读性。注释的内容不

c语言中ai是什么,AICODE在C语言教学中应用研究.doc相关推荐

  1. c语言中point的用法_关于C语言Switch语句,先学这些技巧够不够?

    一.C语言中switch的用法 1.switch后面括弧内的[表达式],ANSI标准允许它为任何类型: 2.当表达式的值与某一个case后面的常量表达式的值相等时,就执行此case后面的语句,否则,就 ...

  2. c语言中int的取值范围_c语言入门(1)

    c语言入门 C语言一经出现就以其功能丰富.表达能力强.灵活方便.应用面广等特点迅速在全世界普及和推广.C语言不但执行效率高而且可移植性好,可以用来开发应用软件.驱动.操作系统等.C语言也是其它众多高级 ...

  3. [原创]C/C++语言中,如何在main.c或main.cpp中调用另一个.c文件

    C/C++语言中,如何在main.cpp中调用另一个.c文件主要有5种思路: 1.在VS2012 IDE中,将被引用的.c文件后缀名全部修改为.h,然后通过IDE的解决方案资源管理器中鼠标右键单击&q ...

  4. c语言中3%3e2%3e1的值,C语言--ch2--数据类型和表达式.ppt

    C语言--ch2--数据类型和表达式 第二章 数据类型和表达式 2.1 数据类型 在C语言中,数据类型可分为:基本数据类型,构造数据类型,指针类型,空类型四大类. 其中基本数据类型可分为: 整型:整数 ...

  5. c语言中eles后面分号的作用,C语言 if else 语句详细讲解

    前面我们看到的代码都是顺序执行的,也就是先执行第一条语句,然后是第二条.第三条--一直到最后一条语句. 但是对于很多情况,顺序结构的代码是远远不够的,比如一个程序限制了只能成年人使用,儿童因为年龄不够 ...

  6. c语言中什么函数可以作为虚函数,C++语言中的“虚函数”就像C语言中的指针,必须要弄懂的...

    上一节较为详细的讨论了C++语言中基类被派生类继承过程中的内存模型,尤其较为详细的分析了虚函数及其虚表.虚表指针在内存中是如何分布,如何存储的,这对于理解C++语言中的"动态绑定" ...

  7. c语言中1%3c%3c2 什么意思,c语言练习题

    篇一:C语言考试题库及答案 C语言理论上机考试选择题部分(共200题,仅针对11级定向专业) 1.下面程序的输出是___D______ #include void main() { int k=11; ...

  8. c语言中0x12是什么进制,C语言中进制知识汇总

    1.什么是进制 进制是一种计数的方式,常用的有二进制.八进制.十进制.十六进制.任何数据在计算机内存中都是以二进制的形式存放的. 我对进制的个人理解,二进制数是以2为计算单元,满2进1位的数:八进制数 ...

  9. c语言中5l是数值或字符常量,C语言练习题-选择题(带答案)

    以下为<C语言练习题-选择题(带答案)>的无排版文字预览,完整格式请下载 下载前请仔细阅读文字预览以及下方图片预览.图片预览是什么样的,下载的文档就是什么样的. C语言练习题-选择题(带答 ...

最新文章

  1. 一不小心把win10的秘钥卸载了解决方法
  2. 完美解决vue项目中弹出框滑动时,内部页面也跟着滑动问题
  3. 设置centos6 yum源为光盘
  4. 物体运动到一个点停止_大颗粒搭建中常见的结构运动
  5. 新基建时代,腾讯云数据库沿主赛道加速演进
  6. 活动服务器优化 暂时关闭,服务器优化之关闭不必要的服务
  7. 华为鸿蒙主题设计,3W品牌报:2020 华为全球主题设计大赛获奖作品公布;华为鸿蒙 OS 正式上线...
  8. 航空模型手工制作_小学生简易航空模型的制作
  9. 使用python来完成对QQ邮箱文件中转站的文件下载链接的获取
  10. DayDayUp:计算机技术与软件专业技术资格证书之《系统集成项目管理工程师》课程讲解之十大知识领域之4辅助—项目采购管理
  11. Struts2,Hibernate,Spring框架学习总结
  12. 微型计算机中一个字节由2位组成,一个字节由几个二进制位组成
  13. matlab矩阵与常数相乘,矩阵与常数的运算.ppt
  14. 安卓开发———简易音乐播放器。Timer,SeekBar,mediaPlayer
  15. JVM 垃圾回收简介
  16. 注册码方式注册多可系统
  17. PX Deq Create send blkd
  18. java语言【#106. 求绝对值】(已通过)
  19. 两小球冲突,仿优信,拖动小球
  20. 2021-2027全球与中国互联汽车技术市场现状及未来发展趋势

热门文章

  1. appium+python搭建自动化测试框架_TestAPP框架(三)
  2. 【vue插件篇】vue-form-check 表单验证
  3. Python之配置日志模块logging
  4. OpenGL的几何变换4之内观察全景图
  5. MIna框架I/O Service层设计
  6. java框架篇---hibernate(一对多)映射关系
  7. Struts和Sitemesh整合,实现多个装饰器
  8. 防止对 Visual Basic .NET 或 C# 代码进行反相工程
  9. 原生 Java 客户端进行消息通信
  10. Cassandra使用 —— 一个气象站的例子