五千年(敝帚自珍)

主题:今天随便说两句,关于日本 -- 绝对不是白领

共:💬141 🌺742 🌵6
分页树展主题 · 全看首页 上页
/ 10
下页 末页
                          • 家园 小学有自然课(科学课)嘛

                            当然从小学一年级就开始显然不合适,自然课(科学课)也是小学高年级才有。

                            但是小学五六年级教授office等的使用,初中一年级开始介绍简单的编程,显然是可以做到的。既然初中一年级能教物理,那当然也能教计算机。而且实际的例子30多年前就有:

                            1984年,上海微电子技术应用汇报展览会,几个少年正在电脑前为观众进行演示,13岁的李劲也是其中之一。一位老人走到他身后停住脚步,微笑看着李劲熟练地操作——这位老人就是到上海视察的小平同志。其间,小平同志和蔼而坚定地说道:“计算机普及要从娃娃抓起。”http://cpc.people.com.cn/n1/2019/1030/c69113-31428714.html

                            我自己则是小学5、6年级的时候,通过Visual Basic,在中学数学学到“函数”之前,就已经知道“函数”了。

                        • 家园 阿尔诺德说物理本质是几何

                          柯尔莫哥洛夫的高徒讲的,有著作

                          《经典力学的数学方法》,这种思路也有道理

                          • 家园 这点上我认为老杨说得好

                            物理和数学是正弦曲线和余弦曲线的关系,相伴相生,并在一些关键点上交叉。

                            牛顿力学对应数学分析,电磁场对应矢量分析,相对论对应张量分析。数学概念多如牛毛,不一定都对应物理实体;物理现象也不一定能找到数学解释,也许可以说还没找到吧。

                            • 家园 脑神经活动显示:编程语言不是语言,也不是数学

                              http://jandan.net/p/108206

                              脑神经活动显示:编程语言不是语言,也不是数学

                              学习计算机编程与学习一门外语,颇有些相似之处。都需要我们记忆全新的符号和术语,掌握正确的语法。代码还必须足够清晰,以便其他程序员可以阅读和理解。

                              尽管如此,麻省理工学院的神经科学家发现,阅读计算机代码所调用的大脑区域和处理常规语言的区域并不相同。取而代之的是,代码激活了被称为多需求网络的分布式神经网络——该网络也被用于解决复杂的认知任务,如解决数学问题或填字游戏。

                              但阅读代码用到的多需求网络的系统资源,和思考数学时也有显著差异,这表明代码也不是数学语言。

                              “阅读计算机代码似乎是特异的能力。编程语言与语言不同,和数学与逻辑也不相同。”该研究的主要作者,麻省理工学院的研究生安娜·伊万诺娃(Anna Ivanova)说。

                              她的论文今天发表在eLife上。麻省理工学院计算机科学与人工智能实验室和塔夫茨大学的研究员也参与其中。

                              语言与认知

                              先前的研究显示,音乐和数学似乎并未激活语言处理系统。

                              “我们的兴趣是探索语言与编程语言之间的关系,部分原因是计算机是较晚出现的东西,我们知道不可能有任何硬连线机制使我们成为优秀的程序员。”伊万诺娃说。

                              她说,关于大脑如何学习编程,存在两种流派。有人认为,要精通编程,就必须精通数学。另一派则认为,由于编码和语言之间的相似性,语言天赋可能更重要(诶呀,我就是这派的)。为了终结这一争论,研究人员直接从脑神经活动模式入手。

                              本研究中作为主要考察对象的是以可读性着称的Python和ScratchJr,后者是专为5岁及以上儿童设计的可视化编程语言。

                              实验参与者均为精通测试语言的年轻人。程序员被要求躺在磁共振(fMRI)扫描仪中,研究人员向他们展示写有代码语句的片段,并要求他们说出运行结果。

                              几乎未看到大脑语言区域对代码做出反应。相反,他们发现,被显著激活的是所谓的多需求网络。这个网络的活动遍布整个大脑的额叶和顶叶,通常用于完成需要大量信息的任务。

                              “多需求网络,用于应对认知上具有挑战性的任务。”

                              先前的研究表明,数学和逻辑问题似乎主要取决于左半球的多个需求区域,而涉及空间导航的任务更多激活右半球。麻省理工学院的团队发现,阅读代码似乎可以同时激活两侧的网络,而ScratchJr激活右侧的程度要比左侧高一些。这一发现说明,编程语言本质上和数学是不同的。

                              换言之,经典的两派理论都不正确。不过这可能是件好事。编程是一种独特且相对独立于语言和数学的技艺,我们可以进行专门的训练,重塑自己的大脑。

                              以后,可能需要为编程技能开发出更具针对性——而非传统数学或语言——的教育和训练方式,更有效率地培养高水平的程序员。

                              https://news.mit.edu/2020/brain-reading-computer-code-1215

                              • 家园 仔细思考了一下,说说自己的体会

                                我没有系统学习过怎么编程,都是摸索出来的,一点感触,方家勿笑。

                                我认为程序大致分两种,1、计算某个结果,或者说function;2、实现某种过程,或者说task。前一种更偏向数学,后一种更偏向语言。

                                实际上一个足够大的程序肯定是两种都有的,相互交汇不可分割,所以两种思维的融合也就不可避免了,但无论哪种,都是要讲究逻辑的,这么看来逻辑可能是更高层的思维吧。

                            • 家园 基础工具

                              其实我本来想强调的重点是

                              「计算机是…基础的工具,就像纸和笔一样。」

                              然而讨论完全歪到不知什么地方去了。

                              有人看到王垠的名字就得了ptsd,丝毫不懂去其糟粕取其精华。

                              数学不会考虑浮点数加减法准不准的问题,也不会用概率算法判断质数。

                              在excel中用vba自动从身份证号生成出生年月日,用shell script批量调用wget下载文件,同样也是编程。

                              现在的中小学学制和课程内容都是承袭第二次工业革命时候的https://www.zhihu.com/question/20755482/answer/759890754

                              甚至还有人想把珠算请回来

                              https://www.zhihu.com/question/420336355/answer/1464173344

                              编程不比珠算有用多了吗!?

                              • 家园 最好是传授思想而不是纠结于具体教什么

                                可惜现在的公共教育的目的就是选拔和淘汰,私人有能力的可以自由选择怎么教,这个对家庭的财力能力都是有很高要求的。

                                算盘里面也是有思想的,比如进位思想。编程也是,而且更多,比如循环思想递归思想,如果涉及到算法层级就更多了,不列举了。问题是即使有教编程,在考试选拔的框架下,最终也会变成解题驱动的考试游戏。比如被诸位鄙视的二级考试,俺虽然没考过,大致看过一些相关材料,和高考的语数外套路没啥区别嘛。

                                所以,还是多教些数学物理吧,更基础一些可能还能更接近思想层级。

                                通宝推:杨微粒,
                                • 家园 计算机其实最方便传达的思想是理学和工程学的区别 -- 有补充

                                  比如说整数和浮点数。如果a和b都是浮点数,直接写

                                  if (a == b)

                                  {

                                  return 0;

                                  }

                                  else

                                  {

                                  return 1;

                                  }

                                  可能就会出问题。有时候得写成

                                  if ((a - b) < 0.0000000001)

                                  {

                                  return 0;

                                  }

                                  else

                                  {

                                  return 1;

                                  }

                                  才行。

                                  因为浮点数运算有误差。1.0除以3乘以3说不定就得到0.99999999999了

                                  这种理学和工程学的区别,在中学的数学和物理中很难学到,在中学,用计算机来教其实是最方便的。

                                  比如被诸位鄙视的二级考试,俺虽然没考过,大致看过一些相关材料,和高考的语数外套路没啥区别嘛。

                                  在真正从事计算机工作的人那里,谭浩强和“二级C”经常被嘲讽。过了二级C,很多时候不是加分项而是减分项。

                                  不用说其他的了。

                                  『++++++(i++)++(++i)++++i++i++213』,类似这种破玩意儿的鼻祖到底是谁大家都清楚的很。时至今日依然有大波学生不得不把时间浪费这种在『“茴”字的一亿个写法』上。都2014年了很多大学生还在这种事情上打转,不觉得悲哀?这么多年编程,我莫名产生了一种直觉:『凡是过了计算机二级C的人,我反而觉得也许这人根本不懂编程……』。

                                  作者:Varlalnub

                                  链接:https://www.zhihu.com/question/22793863/answer/23900178

                                  来源:知乎

                                  著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

                                  通宝推:赵美成,
                                  作者 对本帖的 补充(1)
                                  家园 还有文字编码也是非常适合在中学讲授工程学的例子 -- 补充帖

                                  比如为什么有Unicode和GB编码,为什么又有UCS2、UTF8,GB2312、GB18030。

                                  锟斤拷是什么?

                                  为何有时电子设备上「门」会显示为「⿻冂丨」?

                                  • 家园 我不清楚所谓二级C到底考什么内容,但是

                                    解“i+++(++i)”这样的谜题其实和做数学练习是同样的道理,很多别扭的数学习题也没有啥实际意义,就是一种“机械性”的训练。

                                    从你引用的部分和你的评论,我太不清楚原作者和你是想鄙视“二级C”还是想鄙视懂 C 编程的程序员。

                                    • 家园 显然不是

                                      按照c标准,“i+++(++i)”属于未定义行为(https://blog.csdn.net/qq_29169813/article/details/51416281),编译器得到什么结果都是有可能的。

                                      谭浩强只是把他在borland c 2.0中得到的结果当成了「标准答案」去考(折腾)人。

                                      • 家园 惭愧,“i+++(++i)”竟然是UB吗?

                                        我很久不写 C 程序了,发上一个帖子前还专门写了个微型的 C 程序编译来验证。但还是忘了给编译命令加上 -Wall,结果编译器没给警告。

                                        C 语言因为历史久远,现在看来语法上有不少缺陷,比如我上面出的那个错误 😅。

                                        谭浩强只是把他在borland c 2.0中得到的结果当成了「标准答案」去考(折腾)人。

                                        现在考试还用谭教授那时的教材,那确实太陈旧了。

                                        如果在学习 C 语言过程中,多做这样的练习题还是有用处的。但是作为考试内容,还不及时更新,确实不对了。

                                        • 家园 也是C语言灵活性的体现

                                          函数从左边开始传参数还是从右边开始传参数、表达式从哪边开始求值,C标准都是有意不规定的,由编译器开发者自己决定。

                                          也许在有的硬件上这样做更方便,在有的硬件上那样做更方便。

                                          c99和c2011都是这样规定的,可见这不是bug,是feature。

                                        • 家园 看了下,好像有两个? -- 有补充

                                          一个是未定义行为undefined,一个是未指定行为unspecified,

                                          C标准我也不熟,但是像

                                          printf("%d %d", i++, i++);肯定会有两种结果,c语言并没有指定函数取参数一定从左边取或者一定从右边取。当然这不会报警或者报错,只是得到的结果在不同的系统和编译器上可能不一样而已。

                                          作者 对本帖的 补充(1)
                                          家园 搜了下 -- 补充帖

                                          按照c99标准,副作用发生的顺序也是未指定的。英文还没看

                                          未規定の動作の一覧

                                          未規定の動作にはどのようなものがあるのでしょうか。C言語の標準規格であるJIS X 3010:2003(ISO/IEC 9899:1999)の「附属書J 可搬性」を参考に未規定の動作を列挙してみましょう。

                                          部分式が評価される順序、及び副作用が発生する順序。ただし関数呼出しの()、&&, ||, ?:, カンマ演算子は除く。(6.5)

                                          http://www.c-lang.org/detail/unspecified_behavior.html

                                          • 家园 使用副作用时不要依赖求值顺序

                                            EXP30-C. Do not depend on the order of evaluation for side effects

                                            转至元数据结尾

                                            由 Robert C. Seacord创建, 最终由 David Svoboda修改于 十二月 02, 2020

                                            转至元数据起始

                                            Evaluation of an expression may produce side effects. At specific points during execution, known as sequence points, all side effects of previous evaluations are complete, and no side effects of subsequent evaluations have yet taken place. Do not depend on the order of evaluation for side effects unless there is an intervening sequence point.

                                            The C Standard, 6.5, paragraph 2 [ISO/IEC 9899:2011], states

                                            If a side effect on a scalar object is unsequenced relative to either a different side effect on the same scalar object or a value computation using the value of the same scalar object, the behavior is undefined. If there are multiple allowable orderings of the subexpressions of an expression, the behavior is undefined if such an unsequenced side effect occurs in any of the orderings.

                                            This requirement must be met for each allowable ordering of the subexpressions of a full expression; otherwise, the behavior is undefined. (See undefined behavior 35.)

                                            https://wiki.sei.cmu.edu/confluence/display/c/EXP30-C.+Do+not+depend+on+the+order+of+evaluation+for+side+effects

                                        • 见前补充 4591022
分页树展主题 · 全看首页 上页
/ 10
下页 末页


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河