长安大学兴华学院举办“C语言程序设计”课堂教学观摩活动
为充分发挥优秀教师在青年教师培养过程中的辐射和示范作用,促进教师教学方法的相互交流学习,不断提高教师队伍整体素质和水平,提高教学质量,5月18日上午,长安大学兴华学院在图书馆301机房举行了C语言程序设计观摩课,由秦光洁老师主讲,授课班级为17级公路与桥梁专业。该院副院长顾建国、教学与科研工作部部长罗相杰、行政保障部部长王云峰及其他各部门负责人、督导办公室老师、学院青年教师和辅导员等走进教学课堂,参加学习观摩。
为了上好此次观摩课,秦老师作了精心的准备。主讲内容为指针的概念、性质及运用。指针是C语言的精华,是掌握C语言程序设计的基础和工具,但也是课程中的难点和重点。秦光洁老师对这一部分内容进行了由浅入深的讲解,同时还注意学生的类比、分析、归纳能力的培养。整个教学内容的设计扎实有效,层次清晰,每个环节可谓环环相扣,最后任务的完成水到渠成。
本次观摩课的开展,进一步加强了该院课程建设工作,有利于教师间的相互借鉴、友好交流,对于提高该院教师的教学质量有着不可或缺的作用。
学生在认真听讲
秦光洁老师讲课
该院领导认真听讲
青年教师认真听讲
为什么国内大学普遍把c语言作为程序设计的入门课程?
课堂上学到的c语言本身就是很简单的,在国内大学的c语言课堂上你很难学到真正做项目的能力,所以他们提出可以上手学习做一些c语言工程,我认为学习做项目的能力很重要,但是有些回答给的是做游戏,做窗体的项目,我倒不是很赞同。
国内大学普遍把c语言作为程序设计的入门课程,甚至我大一的时候那门课程的名字就不叫c语言,而是叫《程序设计基础》,其实意义很明白了:老师根本没指望你学完能用c语言做多么厉害的东西,他是希望你学会程序设计,而不只是c语言。至于做工程,其实c++,java都比c语言要好,除了底层计算机系统、嵌入式、物联网这些偏硬件的方向其他方向需要你用c语言做工程的方向其实少之又少,哪怕是嵌入式、物联网等方向写进单片机的程序其实也普遍比较简单,更需要补的是硬件知识和掌握各种API,而写底层系统你还要学的东西就实在是太多太多了。所以我依旧认为你把课堂上老师教你的内容学会了,入了编程的门就够了,更多高大上的复杂的东西你以后会发现普遍不是用c语言写的,你现在去学用c语言写窗体,写小游戏你以后会发现其实人家都在用Qt,c#,java这些,写的比你快还比你好,你学了也用处有限。
确实有余力可以选一门应用更广泛的语言继续学习,与c语言相互印证,或者想学习做项目的话,学一学单片机,自己做个呼吸灯,电子钟,温度显示器,指纹锁,收音机之类的,淘宝上买个可编程机器人与其他传感器组合实现一些自动寻迹,目标识别啥的功能,都很有意思,这才是目前c语言在工业界比较普遍的应用,写游戏写客户端写后台啥的早就是其他语言的主战场了,没必要空耗太多功夫。
先上结论,因为c语言只是最最基础的工具。c语言与编程的关系就像学会写汉字与写小说的关系,其实我觉得如果你以后的目标是自己开发出像微信、QQ、淘宝、抖音等等那种面向普通用户的大型程序的话,说c语言是拼音都不为过。
开始时候也觉得c语言天天就只是做一些没什么用的数学题很没意思,后来学习了其他语言和计算机相关知识后我发现其实学校教我们c语言的主要目的可能根本就不是叫我们用c语言开发出多么厉害的程序,而是以下这些目的:
①带你接触一种很多主流计算机语言都遵循的语法。
很多主流计算机语言(像c++,c#,java)都遵循了c语言的分号换行,大括号标记代码段,循环条件和if判断条件用小括号括起来,数组索引用中括号括起来等基础语法,以及特殊一些的js,Go,python也部分遵循了这些语法。这些习惯以后会伴随你敲的每一行代码,有的甚至老程序员了都会漏掉分号或者半边大括号,所以早点带你习惯这种语法是很重要的。
②带你接触编程常用概念。
c语言中的常量,变量,类,结构体,函数,循环,分枝判断等等都是大多数语言依旧在使用的概念,这些概念在程序中无处不在,在任何一门语言的学习中你都要先学习这些概念。
③带你熟悉程序员的思维方式。
举个最简单的例子,你在现实中如果要按照高挨个站队你会怎么做?这就是一个排序问题,程序员是怎么解决这个问题的?反正我学习了排序之后才意识到自己站队一般是用选择排序和插入排序的方法,而冒泡排序,归并排序,快速排序,堆排序等等算法其实应该是数学家或者程序员特有的考虑问题的方法,一般人很少接触到,还有递归和迭代,是最典型的数学家或者程序员的思维方式:把一个问题简化成我解决过的问题,不断简化下去得到最终的解。这种思维方式将会伴随你一生,哪怕你不做程序员了也会用得到。
④带你初步认识计算机的工作原理。
c语言是最贴近计算机底层的高级语言,特别是c语言中最令初学者困惑的指针和内存分配直接揭示了程序在计算机中的运行过程,其实你以后学到c++和计算机组成原理、汇编语言的时候就会更进一步理解为什么c语言里是那么设计的,熟练的c语言程序员看到一行代码就能知道执行完这行代码在内存里发生了什么,这在以后任何语言的debug中都是很重要的,你要知道你的每一行代码在做什么。
⑤带你学习写代码、编译、调试、运行的过程
这个想必我也不用多说,你以后学习任何一种计算机语言都离不开这几个步骤,只是有的可能把编译的过程隐藏起来了不给你看见。
最后,上面这些也只是我的一点总结,并不代表老师们的真实意图,我也还只是接触了计算机知识中的冰山一角,大概说的很不全面,也欢迎补充、指正。以及题主如果确实想急于做一些有意思看起来比较高大上的项目的话,可以去图书馆找找一些名叫“c语言项目实战”、“XXX项目实战(基于c语言)”、“c语言游戏编程”等等这样的书(不一定就是这些名字,我也没看过这些书),或者直接去学习python吧,刚学完c语言学习python应该会很快,在学习的过程中还能和c语言互相印证,然后你就可以借助python语言中的一些开源库做很多高大上的工作了,但我还是建议你学好c语言基础,因为那是你以后学习其他语言的一把钥匙。
本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com
文章为作者独立观点不代本网立场,未经允许不得转载。