用自然语言的知识结构看计算机语言

来源:互联网 发布:mac上如何卸载程序 编辑:程序博客网 时间:2024/04/28 04:30

技能提升、思维训练、系统培养、价值塑造

。。。。。。。。。。。。。。。。。。。。。

非计算机的专业的程序设计课程的讲授涉及的计算机硬件和原理程度很具有自然语言的知识特点。


计算机的基本工作原理决定了计算机问题求解是“计算数据”的过程,编程就是去解决“如何表示数据”和“如何实现计算”。

将“数据表示”和“程序实现”作为学习程序语言的两条主线索,抓住语言对此所起的作用,螺旋上升,交叉推进


。。。。。。。。。。。。

自然语言与计算机的机器语言都具有语言规则的属性,虽然面向的对象特性不同,但是在通性上具有一定的相似知识结构,通过这种对照比较,

可以快捷的建立面向计算机的语言思维


字根:标识符,运算符,功能符

:表达式;【意义】

句子:程序结构;【函数功能】


段落:程序文件

文章:程序目录

:程序包


掌握了C语言的基本语法,学会用三种基本结构编写程序,能够解决一般的数值处理问题、穷举问题等。

 就如同学习汉语,大家已经学习了字、组词、造句,能够写短文了,接下来是怎样写长文章?

对应C语言来说,我们如何设计较长的程序?如何解决相对复杂的问题?如何重复使用某一段代码?


C语言的基本结构是函数,其基本含义是:一个软件可以由多个源程序(文件)组成;一个源程序(文件)可以由多个函数组成;

函数就是一段具有某种功能的程序,除主函数之外,用户写的这段程序叫做用户定义函数,由函数名,参数,说明语句和执行语句构成。

定义后的函数可以重复被主函数或其他函数调用。所以说,函数是实现模块化设计的基础。


学习指针。指针是C语音的特色,也是C语言中最灵活的地方。
如何学习指针呢? C语言中指针就是地址。大家要掌握指向变量的指针,指向数组的指针,指向函数的指针,指向指针的指针,指针数组等。

注意从定义和引用的形式上区分不同功能的指针,要理解指针与数组的关系,以及定义了指针之后,如何引用变量的值等具体问题,
结构、联合与枚举都是C语言中的构造数据类型,是基本数据类型的某种组合。


 链表是指针、结构体的高级应用,也是C语言各阶段语法知识的综合体现。

链表就是动态的数据结构。要掌握链表如何定义,如何建立简单的单向链表,以及学会编写链表中节点的插入、删除等基本操作。

在上述知识和练习基础上,练习编写小软件,例如:学生档案管理系统等。


以往程序中对数据的操作均在内存上实现,随着程序运行的结束,变量的内存空间和变量的值均消失。C语言中可以利用文件实现数据在外存上的存取操作。


首先要掌握文件的基本概念,其中重要的是文件型指针,文件通过文件指针操作。要学会使用文件读写函数,分别实现文件的按字符读写、按字符串读写、按数据块读写和按格式读写;还有文件当前状态的测试函数等,必须熟练使用这些函数。









更为神奇的是,如果我们把函数的组成部分细化,列出一个树状的结构,你会发现你学过的C语言的基础知识内容都在里面啦,学过函数后,你也可以试试啊。

.。。。。。。。。。。。。。。。。。。。

拓展:


计算计算机专业的程序设计语言课程涉及编译原理,计算机系统原理,计算机原理的底层原理和实现,

在知识结构上可以用知识层次的组织思想组合,形成立体的知识体系。


实际上,计算方法(数值计算、非数值计算)仅是程序设计方法的一种,程序方法学中还有诸如操作系统、人机界面、图形图像、多媒体、网络通信、数据库、硬件接口等技术领域,每个领域都有独特的编程技术和精巧的解决方法。


通过引入高级编程技术的学习,融合各类学科专业的领域知识,拓展求解问题的专业覆盖面、问题复杂度和数量,可以改变编程的广度、深度和力度,形成编程核心模式及对它们不断运用所形成的思维方式的系统观,这是优秀程序员最重要的素质。


这时,你会发现编程是全方位的创新实践。





。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

语言”和“程序设计”两部分的思想


计算科学思维是多维度的,例如基于计算技术的普适思维,特点是抽象和构造

基于算法思想的数学思维,特点是形式化和自动化;基于数据技术的逻辑思维,特点是因果关系和相关关系;基于系统结构的应用思维,特点是整体性和结构性


程序最重要的两个基本要素是算法和数据结构,编程的难点不是算法或者数据结构本身,而是如何理解和分解问题,并将其映射到最合适的算法或数据结构上,

这个映射本身不是程序要解决的问题,是人脑在思维,是构造性思维、逆向思维、猜想与试验、设计思维等全脑思维的艺术。


。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

用“系统观”拓展编程视野
衡量编程有两个重要指标:编程累计行数(TLOC)和单个程序行数(SLOC)。以解题为主的编程训练能提高TLOC,但却止步于SLOC。即使将小规模、数学型问题做成百上千,TLOC指标上去了,但SLOC却不见长。一般的,SLOC小于300行时很难让人体会到“开发的感觉”,这时编程局限在“数学工具”视野里。显然,单纯的思维训练和仅仅摄取知识信息无法形成系统观。


实际上,计算方法(数值计算、非数值计算)仅是程序设计方法的一种,程序方法学中还有诸如操作系统、人机界面、图形图像、多媒体、网络通信、数据库、硬件接口等技术领域,每个领域都有独特的编程技术和精巧的解决方法。

通过引入高级编程技术的学习,融合各类学科专业的领域知识,拓展求解问题的专业覆盖面、问题复杂度和数量,可以改变编程的广度、深度和力度,形成编程核心模式及对它们不断运用所形成的思维方式的系统观,这是优秀程序员最重要的素质。

这时,你会发现编程是全方位的创新实践。


。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。


以“跨领域”塑造核心价值


掌握知识和能力是大学学业的价值
,但仅仅是这些就可能掩盖了大学学业的核心价值和潜质,

即通过知识内化为思维、通过能力提升到创造,最终拥有终身享用不尽的、可持续发展的知识发现、知识获取、知识建构的科学素养。


学会了编程就等于掌握了信息时代的听说读写能力,学习编程形成的心理技能对于我们生活的其他方面都极其有用。

通过跨学科、跨领域的延伸,编程将提高问题求解的能力,提升对世界的理解力和改善解决问题的决策能力,建立起批判性思维、系统性思维、创造性思维。


通过增加挑战式内容,强化在专业学科研究上表现出很强的发展潜力,形成学业核心价值。
这时,你会发现编程教会人们如何思考。


0 0