论文部分内容阅读
摘要:计算机的软硬件技术的日新月异,推动计算机语言的不断更新发展,如何与时俱进学习计算机语言是值得关注问题。该文从高校程序设计课程教学中存在问题出发,探讨了如何与时俱进的进行计算机语言的教与学,根据面向过程语言与面向对象语言发展的历程,建立程序设计语言学习的思维逻辑,掌握计算机语言学习的框架模式,帮助学生在快速发展的计算机领域里可持续发展。
关键词:计算机语言;程序设计;思维培养;面向过程;面向对象
中图分类号:G642 文献标识码:A 文章编号:1009-3044(2018)10-0121-03
Abstract: Advances in computer hardware and software technology, promote the development of the continuous renewal of computer language, how to keep pace with The Times to learn computer language is a problem worthy of attention in this paper. Based on the existing problems in the teaching of programming courses in colleges and universities, this paper discusses how to keep pace with the times in the teaching and learning of computer languages. According to the process oriented language and the development of object-oriented language, establish the thinking logic programming language learning, to master the computer language learning mode, the framework of computer language learning to help students in the fast-growing computer field of sustainable development.
Key words: computer language; programming; thinking training; process-oriented; object oriented
随着计算机技术应用普及,掀起来了学习计算机的浪潮,程序设计作为各专业重要的基础课在各高校开设,目的是使学生能系统地学习程序设计有关的内容及思维方式,以便更好的应用计算机解决实际问题。随着计算机的软硬件技术的不断更新,计算机语言经历机器语言、汇编语言、高级语言几个阶段,高级语言分为面向过程和面向对象,具体语言种类都有好几十种。目前,许多高校根据就业形势和专业建设培养模式开设了多门程序设计课程,由于所依托的基础语言和讲授的内容模式不尽相同,在教学中存在不近人意的问题。本文根据教学实践中反映出来的问题,探讨如何培养学生学习程序设计语言的思维模式,顺应瞬息万变的计算机领域,实现学生学习程序设计模式的与时俱进。
1 程序设计课程存在问题
目前计算机专业及相关专业的课程设置中,一般大一开设《C语言程序》,大二开设可视化程序设计语言Visual Basic,结合现在潮流的软件,大三开设面向对象语言如《Java程序设计》和《C#语言》,我们学院的信息与计算科学专业还涉及数值计算,于是还开设了Matlab语言,学生学习的程序设计语言种类较多,但很多学生编程能力仅仅停留在语言的语法规则层面,学而却不精,限于各种的原因,有些老师在教学上把语法基础当成重点,而没有根据学生的先修课程的知识点来引导组织教学,导致学生学习了多门计算机语言,仍对编写程序缺乏感性认识,没有形成基本的编程思维,具体来说主要体现在以下几个方面:
1) 计算机语言课教学深度与广度的不协调。[1]日常教学中,由于专业设置和课程的学时有限,学生的水平参差不齐,老师的教学的侧重点也很难把握,对于二本类的院校,老师把教学重点放在语法基础教育阶段居多,限于学时的原因,很多程序设计语言的高级应用没有深入探讨,这也是导致学生学了很多语言但都不精重要原因之一。
2) 没有建立计算机语言学习的思维方式。很多學生学语言仅仅是单纯学习,没有建立计算机语言学习的框架体系,从整体上把握如何去学一门语言,把学习语言的思维融会贯通起来,建立程序设计的思维模式。教学上也没有进行引导,帮助学生建立学习程序设计语言的思维和能力。
3) 缺乏对程序设计语言发展的认识,转变程序设计的思维模式比较困难。计算机的语言经历了机器语言、汇编语言、高级语言几个阶段,高级语言分为面向过程和面向对象,其中C语言就是经典的面向过程语言,在当今的嵌入式开发中仍然是炙手可热,面向对象典型的语言有c 和java。一般先开设一门面向过程的C语言后,再开设面向对象的高级语言,很多学生学C语言时觉得很容易掌握,到面向对象语言就不知所措,随着程序设计语言的发展如何实现程序设计的思维转变是程序设计思维培养重要方面
2程序设计课程学习思维的培养
计算机的语言随着时代不断变化,技术的更新,计算机语言的发展也会日新月异,尤其计算机的硬件更新换代,必然也会触动软件技术的更新,更多优秀的计算机语言会产生[1],在这种形式下如何教会学生学习计算机语言的思维逻辑更重要,掌握学习计算机语言的思维方式,建立程序语言的框架体系结构,建立学习程序设计思维模式,教会学生学习程序设计的语言能力与素质。 2.1框架式学习程序设计语言基础知识
一门计算机语言是一套人与计算机的交流的指令集合,与自然语言相似,有词汇、语法、句法、语句组织规则,编写程序就像写文章,做项目就像编写一本书。写文章首先要构思好框架再写,同样学习编写程序首先要掌握程序设计的框架,从整体上把握程序设计语言基本特征,再具体学习语言的组织方式,这也是结构化程序设计的中把复杂的客观问题,分成若干独立的问题,然后一个个进行解决,也即是逐步分解、分而治之的思想的反射应用。
一本书根据书名的主题分成若干章节组织,每个章节又有一个小的中心思想,围绕此来展开故事的描述,编写一个项目程序就像编写一本书。图1是C语言程序基本组成框架结构,一个项目程序由若干源程序组成,每个源程序都是围绕程序完成功能来编写程序,而每个源程序都有程序的组织模式,C语言中源程序的模式由若干相关函数和说明语句组成,java语言中每个源程序模式由说明语句和若干类组成。类是由数据和函数组成,函数是一个功能独立性最高的程序段,到函数这一层都是面向过程程序设计,也即是数据输入、数据处理和数据输出三个内容,体现在程序设计中即是输入数据的定义、表达,数据处理的顺序、选择、循环三大骨架结构程序,以及数据的输出。在这个过程中就要学习该门程序语言的词汇(即标识符、保留字)、数据的表示、语法规则、语句的种类及使用规则,利用所学的词汇、句法和语法来组织程序。冯偌依曼思想的计算机都是存储程序,程序运行时调入到内存中,逐条取出来执行,程序编写顺序决定程序的读写顺序,一篇文章默认的读写顺序的从上到下从左至右,同样程序执行顺序也是从上到下从左至右,因此组织程序要按照它执行顺序的语义去编写程序,否则就会像前言不搭后语的文章词不达意,导致就是运算的结果不是所要的结果。
2.2 面向过程的程序设计思维
“过程语言”用类似自然语言的符号化形式描述对问题的处理过程,用数学表达式的形式描述对数据的计算过程,人们只需向计算机描述问题的求解过程,而不关心计算机的内部结构。[2]面向过程的程序设计模式就是如图2所示的三个步骤:输入信息A,通过计算机的算法处理,输出结果信息B。[3]若输入的信息A直接可以运用编程语言中提供的数据类型表达出来,则直接进行算法处理步骤;若输入的信息A是图、表、声音等非数值信息时,首先要做是利用数据结构理论应用计算机的语言把信息A组织表达出来,因此图灵奖获得者Niklaus Wirth提出的著名论断:“程序=数据结构 算法”,这就是面向过程的程序设计的核心思想,以计算为核心,按照数据处理的过程来组织程序。
图2 计算机处理数据的过程
例如键盘输入一个三位数,输出逆序后的数。例如,输入236,输出632。根据题意按照计算处理数据的过程把上述问题转变出如图3的程序设计流程,再按照自左至右的顺序用计算语言表达出来即是计算机可以识别的程序。
图3 程序设计的流程
#include
void main()
{
int x, y; //输入数据、输出数据的表示
int a,b,c; //中间数据的表示
printf("Please input a num:");
scanf("%d\n",
关键词:计算机语言;程序设计;思维培养;面向过程;面向对象
中图分类号:G642 文献标识码:A 文章编号:1009-3044(2018)10-0121-03
Abstract: Advances in computer hardware and software technology, promote the development of the continuous renewal of computer language, how to keep pace with The Times to learn computer language is a problem worthy of attention in this paper. Based on the existing problems in the teaching of programming courses in colleges and universities, this paper discusses how to keep pace with the times in the teaching and learning of computer languages. According to the process oriented language and the development of object-oriented language, establish the thinking logic programming language learning, to master the computer language learning mode, the framework of computer language learning to help students in the fast-growing computer field of sustainable development.
Key words: computer language; programming; thinking training; process-oriented; object oriented
随着计算机技术应用普及,掀起来了学习计算机的浪潮,程序设计作为各专业重要的基础课在各高校开设,目的是使学生能系统地学习程序设计有关的内容及思维方式,以便更好的应用计算机解决实际问题。随着计算机的软硬件技术的不断更新,计算机语言经历机器语言、汇编语言、高级语言几个阶段,高级语言分为面向过程和面向对象,具体语言种类都有好几十种。目前,许多高校根据就业形势和专业建设培养模式开设了多门程序设计课程,由于所依托的基础语言和讲授的内容模式不尽相同,在教学中存在不近人意的问题。本文根据教学实践中反映出来的问题,探讨如何培养学生学习程序设计语言的思维模式,顺应瞬息万变的计算机领域,实现学生学习程序设计模式的与时俱进。
1 程序设计课程存在问题
目前计算机专业及相关专业的课程设置中,一般大一开设《C语言程序》,大二开设可视化程序设计语言Visual Basic,结合现在潮流的软件,大三开设面向对象语言如《Java程序设计》和《C#语言》,我们学院的信息与计算科学专业还涉及数值计算,于是还开设了Matlab语言,学生学习的程序设计语言种类较多,但很多学生编程能力仅仅停留在语言的语法规则层面,学而却不精,限于各种的原因,有些老师在教学上把语法基础当成重点,而没有根据学生的先修课程的知识点来引导组织教学,导致学生学习了多门计算机语言,仍对编写程序缺乏感性认识,没有形成基本的编程思维,具体来说主要体现在以下几个方面:
1) 计算机语言课教学深度与广度的不协调。[1]日常教学中,由于专业设置和课程的学时有限,学生的水平参差不齐,老师的教学的侧重点也很难把握,对于二本类的院校,老师把教学重点放在语法基础教育阶段居多,限于学时的原因,很多程序设计语言的高级应用没有深入探讨,这也是导致学生学了很多语言但都不精重要原因之一。
2) 没有建立计算机语言学习的思维方式。很多學生学语言仅仅是单纯学习,没有建立计算机语言学习的框架体系,从整体上把握如何去学一门语言,把学习语言的思维融会贯通起来,建立程序设计的思维模式。教学上也没有进行引导,帮助学生建立学习程序设计语言的思维和能力。
3) 缺乏对程序设计语言发展的认识,转变程序设计的思维模式比较困难。计算机的语言经历了机器语言、汇编语言、高级语言几个阶段,高级语言分为面向过程和面向对象,其中C语言就是经典的面向过程语言,在当今的嵌入式开发中仍然是炙手可热,面向对象典型的语言有c 和java。一般先开设一门面向过程的C语言后,再开设面向对象的高级语言,很多学生学C语言时觉得很容易掌握,到面向对象语言就不知所措,随着程序设计语言的发展如何实现程序设计的思维转变是程序设计思维培养重要方面
2程序设计课程学习思维的培养
计算机的语言随着时代不断变化,技术的更新,计算机语言的发展也会日新月异,尤其计算机的硬件更新换代,必然也会触动软件技术的更新,更多优秀的计算机语言会产生[1],在这种形式下如何教会学生学习计算机语言的思维逻辑更重要,掌握学习计算机语言的思维方式,建立程序语言的框架体系结构,建立学习程序设计思维模式,教会学生学习程序设计的语言能力与素质。 2.1框架式学习程序设计语言基础知识
一门计算机语言是一套人与计算机的交流的指令集合,与自然语言相似,有词汇、语法、句法、语句组织规则,编写程序就像写文章,做项目就像编写一本书。写文章首先要构思好框架再写,同样学习编写程序首先要掌握程序设计的框架,从整体上把握程序设计语言基本特征,再具体学习语言的组织方式,这也是结构化程序设计的中把复杂的客观问题,分成若干独立的问题,然后一个个进行解决,也即是逐步分解、分而治之的思想的反射应用。
一本书根据书名的主题分成若干章节组织,每个章节又有一个小的中心思想,围绕此来展开故事的描述,编写一个项目程序就像编写一本书。图1是C语言程序基本组成框架结构,一个项目程序由若干源程序组成,每个源程序都是围绕程序完成功能来编写程序,而每个源程序都有程序的组织模式,C语言中源程序的模式由若干相关函数和说明语句组成,java语言中每个源程序模式由说明语句和若干类组成。类是由数据和函数组成,函数是一个功能独立性最高的程序段,到函数这一层都是面向过程程序设计,也即是数据输入、数据处理和数据输出三个内容,体现在程序设计中即是输入数据的定义、表达,数据处理的顺序、选择、循环三大骨架结构程序,以及数据的输出。在这个过程中就要学习该门程序语言的词汇(即标识符、保留字)、数据的表示、语法规则、语句的种类及使用规则,利用所学的词汇、句法和语法来组织程序。冯偌依曼思想的计算机都是存储程序,程序运行时调入到内存中,逐条取出来执行,程序编写顺序决定程序的读写顺序,一篇文章默认的读写顺序的从上到下从左至右,同样程序执行顺序也是从上到下从左至右,因此组织程序要按照它执行顺序的语义去编写程序,否则就会像前言不搭后语的文章词不达意,导致就是运算的结果不是所要的结果。
2.2 面向过程的程序设计思维
“过程语言”用类似自然语言的符号化形式描述对问题的处理过程,用数学表达式的形式描述对数据的计算过程,人们只需向计算机描述问题的求解过程,而不关心计算机的内部结构。[2]面向过程的程序设计模式就是如图2所示的三个步骤:输入信息A,通过计算机的算法处理,输出结果信息B。[3]若输入的信息A直接可以运用编程语言中提供的数据类型表达出来,则直接进行算法处理步骤;若输入的信息A是图、表、声音等非数值信息时,首先要做是利用数据结构理论应用计算机的语言把信息A组织表达出来,因此图灵奖获得者Niklaus Wirth提出的著名论断:“程序=数据结构 算法”,这就是面向过程的程序设计的核心思想,以计算为核心,按照数据处理的过程来组织程序。
图2 计算机处理数据的过程
例如键盘输入一个三位数,输出逆序后的数。例如,输入236,输出632。根据题意按照计算处理数据的过程把上述问题转变出如图3的程序设计流程,再按照自左至右的顺序用计算语言表达出来即是计算机可以识别的程序。
图3 程序设计的流程
#include
void main()
{
int x, y; //输入数据、输出数据的表示
int a,b,c; //中间数据的表示
printf("Please input a num:");
scanf("%d\n",