概括
计算思维的教学改革需要了解计算思维的时代,即计算思维基于对计算机技术的科学思维,教学改革必须符合并适应计算机技术的开发阶段。语言是最接近自然语言的通用编程语言。近年来,它在美国大学中广泛流行,并取得了良好的教学成果。为非计算机本科生开展语言教学是开发编程课程的重要历史机会。这将有助于进一步释放教师对创新的生活和热情,全面提高教学质量,并使学生有机会掌握终身编程语言。
1。从计算思维培养的角度的编程课程
1。编程课程的教学内容分析
我们选择了针对非计算机专业大学生的编程课程的最重要的教学内容:三种编程语言:C,Java,VB以及本文建议的语言,并分析了这些编程语言中解释的计算思维扩展。
(1)C语言。中国大学通常为非计算机专业的C语言编程课程提供C语言编程课程,其实际教学内容围绕数据类型,指针,记忆,角色操作等。这些内容主要是解释“计算机系统结构时代”的计算思维扩展,即,即计算机架构的抽象和自动化(计算机工作原理)。通过这种计算思维的培养,学生可以掌握该计划的有效操作模式。
但是,由于非计算机专业缺乏有关计算机架构的知识,并且没有专业需求,因此即使您通过C语言考试,也很难使用该语言来解决随后的计算机应用程序中面临的计算问题。 C语言的更合适的教学对象是需要高度依赖程序运行效率的小组,主要是专业的计算机和一些信息专业的学生。
(2)Java语言。由于该语言是一种面向对象的语言,因此其实际的教学内容围绕着面向对象的方法,例如类,对象,封装,继承,多态性和接口。这些内容主要解释了“计算机网络时代”中的计算思维,这反映在计算机网络对异质性(跨平台)的支持和鲁棒性(运行时)的需求中。从计算思维的基本本质的角度来看,Java语言在问题中提取了主题边界和主体对象关系,并通过面向对象的概念进行有效的代码重复使用。
同样,非计算机专业学生的培训目标不是专业的程序员,也不需要注意代码可重复使用性和可移植性。此外,Java语言开发功能很少直接应用于个人应用程序。学生学习后缺乏应用程序场景,因此很难连续使用它们。 Java语言的合适教学对象是需要编写高度可重复使用或高度可靠的代码(主要是计算机学生)的群体。
(3)VB语言。该语言是从早期语言开发的,主要由支持和维护,并用于开发系统中的窗口应用程序。 VB语言的实际教学内容围绕形式的对象,按钮,文本框,图形接口,事件响应等。这些内容解释了“计算机窗口”时代的计算思维(与“计算机网络”时代重叠),并反映在窗户中的语法设计系统中。 VB语言摘要交互逻辑和响应关系,以及逻辑之间的自动交互方法。
由于您看到的是由VB语言开发的程序,而继承VB语法的VBA(对于 - )语言可以支持Word和其他软件的编程扩展,并且对非计算机专业的专业具有一定的实际效果,因此该语言的教学效果相对较好。 VB语言最合适的教学对象是需要编写窗口应用程序的小组,主要是专业的计算机和信息的学生。但是,必须看出,VB语言和随后的VB.NET开发的程序仅限于系统,并且是的独家商业开发工具。语言使用范围很大,并且应用范围狭窄。
(4)语言。这是一种编程语言,已经开发了近30年,目前是美国大学最受欢迎的编程语言。语言的实际教学内容是基本的程序逻辑关系,例如分支,循环,功能和功能强大的函数库应用程序。目前,它是最接近自然语言的通用编程语言。该语言仅关心解决计算问题。它的轻巧语法和高级语言表示表达了应用计算机解决问题的计算思维概念。
语言摘要问题和解决方案,并自动解决问题解决方案,这是使用计算机在“复杂信息系统时代”中解决问题的最直观的表达工具。从北京技术研究所和美国许多大学的实际教学效应来看,适合语言的教学对象是需要使用计算机来解决各种计算问题的群体。这正是大学编程课程的教学目的。参与的本科生包括计算机专业和非计算机专业。有关更多信息,请观看“ MOOC Wave”的微信帐户。
2。关于本科生的语言的建议
表1总结了四种编程语言的计算思维扩展,考虑到计算思维的“抽象”和“自动化”,并给予对每种编程语言的理解。其中,“自动化”的狭窄含义是指程序逻辑的自动操作。除了表达程序操作的基本逻辑外,此处提到的“自动化”主要是指该程序获得的好处,以获得“摘要”之后的运行逻辑以外的其他运行逻辑。
表1从计算思维的角度来看计算机编程语言
编程语言
抽象的
自动化
适用性
系统结构
有效执行
信息
爪哇
主题关系
有效的再利用
电脑
VB
交互逻辑
有效的相互作用
信息
要解决的问题
问题计算
所有专业
与计算机专业对计算机系统结构,计算机网络等的专业知识教学的理解和应用不同,非计算机主要计算机基本编程课程的定位应为:教授使用计算思维的基本方法来通过教学某种编程语言来解决一般计算问题,并能够通过编程更好地利用计算机的强大计算机性能。也就是说,编程语言应该成为学生将计算问题转换为具有计算思维的计算机程序的有效手段。
计算机技术已发展为“复杂信息系统时代”。普通计算机的性能很强。对于一般计算问题,计算机的计算性能不再是解决问题的瓶颈。因此,为更广泛的学生培养计算思维的实践应与计算机技术的发展相符。在技术的“时代”中,我们应该更加关注解决问题的问题,而不是专注于程序执行性能,高码可重复使用性或特殊系统中的窗口设计,以便学生可以真正掌握使用计算机来解决计算问题的一般方法。
基于上述分析,结合了计算思维的当代特征,我们为非计算机本科生提出了建议,以提供语言,尤其是将语言作为首选语言。即使对于计算机科学的本科生(“ 985项目”或“ 211项目”大学),我们建议将语言开放为第二种编程语言。对于专注于应用的本科大学和大学,建议将语言作为第一种编程语言开放。有关更多内容,请观看“ MOOC Wave”的微信帐户。
3。打开语言的必要性和意义
从编程语言发展的角度来看,高级编程语言的设计始终追求与人类接近的自然语言。这样的高级语言需要两个基本要求:自然语言中没有广泛的歧义和计算机系统的隐藏设计细节。 c,Java和VB从各自的角度进行抽象编程,该语言进一步提供了与人类理解非常接近的语法形式。应该说,语言已经开发出高级语言的表达形式,简化了编程过程并提高了编程效率。
从培养计算思维的角度来看,表1说明了现有教学语言的局限性以及技术时代的相关性,即传统的C,Java和VB语言过分强调了语法,并且不适合非计算机专业的学生。在从传统的应用技能教育转变为培养计算思维的过程中,教学内容的转变是重中之重。对于编程课程,选择适合技术时代发展的编程语言是显着改善培训效果的先决条件和基础。
从解决计算问题的角度来看,传统的C,Java和VB语言过分强调语法,并且不适合非计算机专业学生解决一般计算问题。语言作为适应新技术时代的轻型语法编程语言,应在大学的计算机教育领域中注意。
从以上三个方面,语言具有比其他语言更高的教学价值。许多外国大学也直接回应了这种技术趋势。以美国的斯坦福大学为例。该学校于2009年开始提供语言编程课程,每年增加5个新课程。截至2015年,学校每年提供22个与语言有关的课程,并取代了以前的Java语言和一些专业的C语言课程。
随着大数据,云计算和网络空间安全等概念的兴起,当代信息社会要求大学生具有操作计算机的基本技能,但也具有某些编程技能,以解决工作和学习中遇到的各种非杰出计算问题,并了解和练习计算思维。在信息时代,深入发展的这种趋势为编程课程的内容改革提供了基础。
编程课程的教学内容变化是技术变革的正常过程。自1990年代以来,编程课程的教学内容进行了几次重大变化,曾经被广泛教授的语言和语言被C语言,Java语言,VB语言等所取代。但是,由于21世纪以来,编程语言教学的内容基本上没有变化,C,Java和VB主要为非竞争学生提供了主要的学生。在过去的15年中,教学内容的稳定不是因为上述教学内容符合教学期望,而是受到特定技术时代的历史局限性。我们认为,用语言代替传统的教学内容是编程课程发展的重要历史机会。教学内容的这种变化将影响本科计算思维和基本计算机应用功能的培养,以十年甚至更长的时间范围,并值得大学领导者和教师的理解充分关注。
由于计算机技术在科学和技术系统中的广度和基础性,因此将语言完全纳入大学计算机教学计划具有重要意义和深远的影响。
语言解释者是开源的,几乎没有开源协议限制。任何基于此语言编写的代码都符合我国家的“自动和可控”信息安全要求。
易于学习,易于使用的语言以及丰富的开源库将为学生提供新的理解,改变了对学习编程语言的主观渴望,但客观地学习并不困难。它将帮助学生学习一种将使终身受益的编程语言,从而帮助他们更好地使用计算机来解决他们面临的各种计算问题。
该语言的高写作效率将进一步加快计划实施和修改的速度,降低程序错误率,缩短计算服务和产品的营销时间,并提高人们的全面生产效率。
在我国全面改善高等教育质量和本科教学项目的广泛发展的背景下,语言教学改革将迎来一个新的编程语言教学时代,进一步释放教师的生活和对创新的热情,并全面提高教学质量。使用语言教学作为一种手段,进行计算思维教育和教学活动将更容易,以便学生在思维和技能中都可以使他们的生活受益。
自2013年以来,北京理工学院为非计算机专业的专业开设了学校的公共挑选课程“语言编程”,该课程已获得了学生的高度认可。失败率显着下降,学生反馈的教学效果得到了显着提高。鉴于高级语言发展的理解和实际教学效应,我们建议国内大学通常对非计算专业的专业进行教学改革,并提供语言编程课程。有关更多内容,请观看“ MOOC Wave”的微信帐户。
2。语言和大学教学改革
1。语言特征
该语言是Van于1990年开发的一种编程语言。它的历史记录为26年,最新版本为3.5.1。该语言的所有实现都是开源的,遵循类似于GPL的开源协议,但比它更轻松,它可以允许未公开修改版本,并将在GPL下与其他软件一起发布。该语言的版权由PSF(软件基金会)持有,该组织是一个非营利组织,该组织通过接受捐赠来推进促销和开源语言原因。
语言是一种带有光语法和弱类型的脚本语言。与C语言相比,该语言没有指针和地址和其他计算机系统结构元素。它不需要定义,并且直接由解释器使用;该语言使用UTF-8编码在内部实施,并具有独立的字符串类型,简化了多语言文本的操作和对中文的良好支持;通过使用可变长度列表而不是固定长度阵列,它与多种数据类型兼容,并灵活地表达了集合的长度。
除了基本语法外,该语言是一种脚本语言,也就是说,它是通过直接运行源代码执行的,这使得程序与源代码密不可分。对于非专业学生,这种源代码执行模式有助于跨多个操作系统的代码维护,设计和实施,并传达代码。
语言代码非常简洁,可以支持两种编程方法:面向过程和面向对象。该程序不需要通过函数封装程序,并且可以将代码行的数减少到C语言中相同函数的1/5至1/10。以最简单的“”为例,该语言的可运行源代码程序是:
(“!”)
用C语言编写的程序需要介绍Main()函数,该功能可以运行源代码程序如下:
#
int main()
(“!\ n”);
0;
此外,该语言还可以编写图形接口程序,并且非常简洁。例如,以下过程可以绘制曲线以形成树的形状:
从 *
def树(,L,A,F):
如果> 5:
lst = []
对于P in:
p。 (L)
q = p。()
left(a)
Q。(a)
lst。(p)
lst。(q)
树(lst,l*f,a,f)
p =()
p。(“”)
p。(3)
p。(10)
P.Left(90)
t =树([P],110,65,0.6375)
输出结果如下:
样本程序输出图
从以上两个简单的示例中,我们可以看到,与C相比,该语言可以更好地支持图形输出,更少的程序代码和语法更接近自然语言逻辑。同时,该语言与面向对象和面向过程的设计方法兼容,并且不会过分限制语法和程序写作方法。
2。语言的高级本质
历史上有200多种编程语言,但迄今为止,不超过20种常用的语言。作为当代常用的一般编程语言之一,它具有强烈的活力。这种活力主要来自该语言的先进性质,并反映在以下三个方面:
首先,语言的设计本质。语言是最接近自然语言的高级语言。它具有很高的抽象,高效的代码写作,符合计算思维的当代性质,并适应当代计算机技术的发展水平。语言更多地关注解决问题。如今,随着计算机性能的高度发展,该语言更适合解决对计算性能并不重要的一般计算问题。
第二,语言开源和开放系统。目前,围绕语言形成了世界上最大的单一编程语言开放社区。截至2015年11月,该开放社区提供了68,956多个功能库,涵盖了许多信息技术领域。其中,大量功能库具有高质量的高质量书写,也是开源的,提供了极大的便利性和一个良好的学习平台,用于编写语言的程序。这种开源和开放概念是计算机开发的推动力。
第三,语言的良好就业前景。云计算,大数据,移动互联网,创意游戏等提供了良好就业前景的语言。表2列出了加利福尼亚州美国前两个在线招聘网站的需求,以及中国在四个一线城市中的前两个招聘网站,包括北京,上海,广州,广州和深圳。尽管这些就业需求数据不能用作提供课程的基础,但它们可以用作教学内容的判断力。从工作要求的规模来看,可以看出,在美国,语言和Java语言已经是程序员就业市场中的两个重要分支,而对语言的市场需求约为Java语言的一半。但是,在中国,由于大学教学的局限性以及行业对编程语言的信息差距,语言程序员的要求刚刚超过了C和VB语言。在这里应该指出的是,Java语言的就业需求几乎全部针对系统应用程序开发,针对专业的计算机程序员,并且相对单身。对语言就业的需求更大,包括数据分析师,操作和维护工程师,产品测试和其他类别。
表2每种编程语言的就业需求
网站\语言
VB
爪哇
4 655
4 865
54 745
25 275
2 473
1 167
18 972
13 872
不用担心未来
15 700
6 000
> 900 000
43 400
招聘
11 358
1 211
46 058
9 080
3。语言教学
中国和美国之间的语言学院教学差距很大。实际上,编程语言课程的教学内容很难实现教学目标也困扰着美国大学的问题。但是,在过去的五年中,美国大学通过介绍语言在本课程的教学改革中取得了重大进展。
以美国的斯坦福大学为例。该学校于2009年开始提供语言编程课程,每年增加5个新课程。截至2015年,学校每年提供22个与语言有关的课程,尤其是对于非计算机专业学生,替换了以前的Java语言和一些C语言。在过去三年中,美国排名前100多所大学中有70多个提供了语言课程。此外,一群美国当地的大学根据学生的实际情况开了语言。从教学效率和质量的角度来看,相关的教育改革取得了良好的成果。
在我的国家,截至2015年,不超过10所提供语言教学的大学,其中大多数主要是小班级。大多数课程都是计算机专业的第二语言学习,为非计算机专业提供语言课程的教学实践仍然非常有限。
与教学发展类似,与国内语言有关的教科书和参考书的构建也非常有限。以美国和中国为例,以亚马逊网站的数据为例,截至2015年11月,在美国,亚马逊有5,782本英语参考书。与中文参考书相比,只有1,360本,其中大多数是外国参考书的翻译版本。因此,需要紧急建造适合大学使用的教科书。
从教学发展和教学资源建设的角度来看,国内大学缺乏对语言教学的重要价值和意义的了解,缺乏教师和参考教学系统。
自2013年以来,北京理工学院已在整个学校开设了公共选择的课程,为非计算机专业的语言教科书编写了语言教科书,并由高等教育出版社出版。同时,它建立了一个完整的教学系统和丰富的教学资源。 2015年,鉴于教学改革的进步,主要讲师为“中国大学MOOC”提供了“语言编程”课程。第一次选择课程的学生人数超过20,000,表明语言学习需求很强。 MOOC课程为我们积累了更多的教学经验。我希望这些教学资源可以为家庭同行提供的语言课程提供参考。
计算思维的教学改革需要了解计算思维的时代,即计算思维基于对计算机技术的科学思维,教学改革必须符合并适应计算机技术的开发阶段。本文从计算思维培养的角度分析了传统编程课程的教学内容,为非计算机本科生提供了有关语言的建议,并解释了该教学建议的选择性,紧迫性和重要性。根据语言本身,就业需求数据,国内外的当前教学状况以及资源构建的特征,可以分析并得出结论,语言教学内容的改革是开发计划设计课程的重要历史机会,并将影响十年甚至更长的时间尺度上的本科生计算思维和基本计算机应用功能的培养。进行语言教学将有助于进一步发布教师对创新的生活和热情,全面提高教学质量,并使学生有机会掌握终身编程语言。有关更多内容,请观看“ MOOC Wave”的微信帐户。