自从村上春树写了《当我谈跑步时我谈些什么》什么之后,”当我们在吃饭的时候我们在吃什么”之类的各种文章出现了很多。村上在谈“我”的时候没什么问题,因为他怎说自己那是他自己的事。但是,如果我们写“当我们”的时候就问题大了,因为“我们”不知道特指谁,关键是你会发现这个“我们”显然、突然、竟然不是“咱们”。所以,当我看到《当我们在学习编程的时候,我们在学什么》的时候,作为初学者的我只能对某些文章叹为观止了,它对某些资深程序员可能帮助是巨大的,也展示了作者大量的思考与实践,非常棒。我这篇仅仅针对初学者给若干老生常谈的小建议。所以,本博客标题应该是《对CS新生编程学习的若干老生常谈的建议》

既然是老生常谈,很多观点就不再详细论述,简单粗暴一点吧。

第一建议:学编程首先要编程

学编程首先要编程。这很废话,是吗?那么,请问,在学编程的时候新生们真地动手了吗?至少,我知道很多同学没有!我记得就这个学期,开学两周后,我问过一个同学,学编程了吗?答:学了。再问:写了什么程序?答:在看书,还没写程序。完蛋!这是学习编程的错误方式。

第二建议:学编程要面向问题

CS专业是一个面向问题、分析问题、解决问题,并探讨解决问题的洞见的一门学科。所以,在写完第一个HelloWorld程序之后,就应该面向问题编程。

作为初学者,特别是知道一些基本概念的初学者会抗议,算法是以后学习的内容,为什么我才学编程就要我懂算法,我算法贼差了。不是如此的,就好比父母教孩子讲话,肯定不是从语法教起,而是针对某个目的教孩子如何表达,然后逐步教如何组织话语,而写作文是很久之后的事情。题外话,很可能你们大部分的作文都不如一个两岁孩子的话更具有目的性!

这个建议的言外之意就是编程不面向语法!唉,语法不对编译都不通过,你好意思让我不面向语法。我只是建议不要面向语法学习,没让你编译不通过嘛。能编译通过是容易的,编译通过了程序不按常理出牌是更痛苦的.....

第三建议:学习编程也是学习计算机基础知识的过程

很多同学不理解,为什么要学习二进制、知道变量的长度,不理解为什么我经常强调使用黑乎乎的小窗口在命令行下工作。基础知识而已,并不是什么怪癖或者高要求。顺便吐槽一句,新生培养计划竟然没有了数字逻辑这门课。也许是”我们又不学习设计芯片“、 ”硬件知识没必要学太多“等的论调的结果吧。我非常不认同,基础知识就是基础知识,该学的还是要学。

再比如”黑乎乎的小窗口“其实代表的时候操作系统的基础知识,除了Windows,我们不是还有Linux、Unix吗?

从学习基础知识这个意义上看,CS新生学C语言绝对是首选。

第四个建议:程序 = 数据结构 + 算法

从这个意义上看,初学者在基本语法稍微掌握之后,最好的训练方法就是进入到基础数据结构:数组、排序、栈、队列等等。且慢,这不是大二的课程吗?你要求怎么这么高?建议而已。如果有更好的训练手段,随便用。

第五个建议:编程需要规范

规范对我们意味什么?死板!对了,该死板就死板,一点都不能乱。死板意味什么?高效!规范包括:格式、注释、命名。

很多吐槽,注释不知道写什么啊,狗屎一样的程序还写那么多注释。说得倒也没错。但是,你们应该这样安慰自己,注释过的程序好歹是注释过的狗屎,而那些牛皮哄哄的程序员写出来没有注释的程序就单纯只是狗屎而已。相信我,如果你的HelloWorld程序没有注释,过两年你也会忘记这个程序是干啥用的。

第六个建议:编程学习是一个长期且艰苦的过程

这个我就不懂了,因为我一直以来都是编程的初学者,学了几十年还只是掌握一点点皮毛。不通过长期艰苦的训练想成为好的软件工程师,不可能!这算个什么建议?劝不学的建议。大一也许某些同学还在犹豫是不是要努力,一犹豫下去大二直接就放弃,准备混文凭了。放弃是一种内力、外力相互结合的并深思熟虑的结果。遗憾的是,放弃之后你可做的选择太少。

这个建议可以作为一个参考指标,那些对自己的成功还抱有期待的同学也不妨衡量一下吧,你真的付出了很多努力在编程吗?如果没有,真的不要羡慕别人的成功了。咸鱼就应该有咸鱼的态度,多跟我学摸鱼吧。

计算机专业新手博客,本博客的标题不是“当初学者学习编程语言的时候在学什么?”...相关推荐

  1. 同济大学计算机专业考博,东南大学和同济大学的考博经历

    东南大学和同济大学的考博经历 (2009-07-30 23:47:20) 标签: 杂谈 本人是考的计算机专业,由于考虑到想在年前考就选择了年前考的几所比较好点的学校,开始就把学校瞄向了同济大学,因为本 ...

  2. 复旦大学计算机专业直博,上海复旦大学计算机科学技术学院2016博士招生选拔办法...

    复旦大学计算机科学技术学院2016年采用"申请-考核"制方式招收攻读博士学位的统考生.具体方法如下: 1.网上报名和提交材料 符合<复旦大学2016年招收攻读博士学位研究生简 ...

  3. 学计算机专业开学要买笔记本电脑吗,大学新生开学要不要带笔记本电脑?听一下学长学姐的建议...

    2019年的大学新生马上就要入学了,可能有些学校已经开学,进入大学后的一个月内是非常忙碌的,需要报到.宿舍安置.军训.整理内务.打扫卫生等等,相信很多同学已经准备好了入学需要的物品.有些家长和学生对是 ...

  4. 加拿大阿尔伯塔大学韩杰教授招收电子与计算机专业博士/博后

    来源:AI求职 阿尔伯塔大学 阿尔伯塔大学(University of Alberta),始建于 1908 年,是坐落于加拿大阿尔伯塔省会埃德蒙顿的一所世界顶尖研究型大学,是加拿大 U15 研究型大学 ...

  5. 计算机专业考博入学考试科目,北京航空航天大学计算机应用技术考博考试科目.doc...

    北京航空航天大学计算机应用技术考博考试科目 2015年北京航空航天大学计算机应用技术考博考试科目 各位考研的同学们,大家好!我是才思的一名学员,现在已经顺利的考上北京航空航天大学,今天和大家分享一下这 ...

  6. 美国计算机专业硕博连读,美国留学硕博连读了解

    美国高校对中国的研究生学位不太认可,即使申请人在国内已经拿到了研究生硕士学位,美国大学并不会以一个硕士毕业生的身份对待,不会有类似于中国的学历上的晋升关系,当然也不会直接给予学习时间上的减免. 如果大 ...

  7. 武汉理工大学计算机专业读博,决定读博前,你需要看看这些数字

    无论是生命陨落在水库的中国科学技术大学博士刘春杨,还是因坐拥三个博士学位而重获关注的演员喻恩泰."博士"这个隐匿在象牙塔尖的群体,在近来的新闻中频频闯入公众视线. 不同于现在&qu ...

  8. 计算机专业读博怎么写简历,博士学位个人简历范文

    博士学位个人简历范文 博士学位个人求职简历范文由yjbys提供整理,转载博士学位个人求职简历范文请标明出处 求 职 目 标 谋求高校或科研院所及相关企事业单位的工作,从事教学或科研工作. 个 人 信 ...

  9. 自考计算机专业的草根,一个外行草根自学中医的历程和经验分享!人人皆可学,求人不如求己!...

    由 邻居小儿夜里盗汗 想到的 老百姓之悲 昨晚吃晚饭时,和家人聊天,家人在小区里听到不认识的邻居说她们小儿这么大热天,白天运动不怎么出汗,夜里睡觉到是经常出汗,很是羡慕那些反过来的小朋友,这虽然是个小 ...

最新文章

  1. ASP.NET Core MVC – Caching Tag Helpers
  2. python判断是否为类的实例,是否为子类
  3. python用户输入算式并计算_Python 70行代码实现简单算式计算器
  4. 分析函数调用的汇编指令
  5. 移动端 项目开发经验集锦
  6. spss数据_怎么建立SPSS数据库、录入数据?
  7. hbase shell查询表中某字段不为空的数据量_HBase工作原理
  8. 圣经 英文有声 android,英文有声+Epub Foundation Series 7部 Isaac Asimov - Audiobook
  9. 西门子PCS7常见报警及故障说明
  10. java毕业设计新生宿舍管理系统Mybatis+系统+数据库+调试部署
  11. mumu的adb_MuMu模拟器进行adb操作
  12. 谈中国分布式数据库商业之路:OSM与DB-Inside
  13. PDF文件实现在线盖章
  14. windows系统背景淡绿护眼色设置
  15. python--列表、数组扁平化
  16. 【ENOVIA 服务包】知识重用解决方案 | 达索系统百世慧®
  17. 使用echarts实现系统性能动态监控(数据实时展示)
  18. echart报错(Unkown series surface)
  19. 【linux】解决设置CentOS7虚拟机使用静态IP的常见错误解决方案
  20. 【自动控制原理仿真实验】 控制系统仿真实验(实验二)

热门文章

  1. 红橙Darren视频笔记 OKHttp基本使用 对http框架进行封装 链式调用
  2. 2021-11-01 Excel之九九乘法表
  3. 代数学笔记2: 域扩张(二)
  4. R语言学习笔记(五)假设检验及其R实现
  5. 【python】filter()函数
  6. WORD表格中文字显示不完整怎么办?
  7. vb combox获取选定index_Python-新闻评论获取
  8. sop4封装尺寸图_「光电封装」 有源光器件的结构和封装
  9. Python的类和对象
  10. java 删除指定文件夹和下面所有文件_java——File IO流