同学们好:

先自我介绍一下,我是你们的助教吴喆(厚颜无耻地要求大家叫我吉吉老师:-D),本科学的电子,所以陆陆续续接触了不少C/C++的工作,曾经被编码折磨得死去活来,如今却对其念念不舍,颇有点“斯德哥摩尔综合征”的味道,或许,我就是个受虐狂吧,哈哈(不禁想起三国杀里的黄盖对周瑜说的话——请鞭笞我吧,公瑾!)。

大学学习过程中还是走了不少弯路的,而且还有些弯路是“致命的”,当时也并不是无人点拨,只可惜我一根筋,听不进相左意见,直到撞了南墙才肯回头认错,痛改前非,现在在外工作,方知踏实学习之珍贵,对校园生活也甚是怀念起来。目前在用C语言教小朋友信息学奥赛,所以更是回忆起大一学C语言的点点滴滴......

大一,多么的naive!当时的我用“无知”或者“浅薄”二字形容无比适合,抱着搞硬件电路,那就可以“混”软件的态度,用傲慢演绎了何谓二货。那时太“专”应试了,可能刚高考完,思维还没有从题海中得到释放,对于新新学科,尤其是暂时看不到未来何用的学科,产生了鄙夷的态度,这是很极其可悲的!因为起步就落后了别人一大截,技能指数增长的初期没牢靠,所以后期就显得乏力,那会儿自己还在线性缓慢进步时,别人已经指数爆炸了。

除了傲慢,还有懒惰,不是手工活儿的懒惰,是思维上的懒惰。记得当时习惯了算数学题的快速、简洁、美观,对起步如负铅块的C语言课程感到极为不适,为何如此讲究语法?怎么计算个数还要声明类型?格式输出有那么重要吗?......这种看似小问题,乃至有人认为不是问题的问题,都是跳跃思维在作怪,恰恰会阻碍大家后续前进,会减慢登上C语言高级台阶的速率,我们应该用严谨有序的逻辑思维程序思维来做好铺垫。

在此,踩过荆棘的大师兄奉劝诸君,入门需谨慎,骄懒有风险!

以上闲扯了些开场白(不喜者请跳读,这里可用跳跃思维哈==),接下来讲点干货(fucking goods)。

1.为什么要学习程序设计呢?

想先问一个问题,大家此刻在网站上看到了我写的博客,请问它从“无”到“有”怎么来的?相信这个问题要是详细展开,绝对没几个人能回答得上来,但这就是计算机技术帮助我们做到的,而要理解计算机技术,从程序设计开始是一件很有意义的事,不仅能了解计算机程序工作原理,更是掌握了编写程序的技能,何乐而不为呢?

2.为什么选择C语言呢?

  程序语言有很多,选择有很多,选C有优势,可以解决某些小程序的编程,将来学C++也好过渡,它比较基本。(以上都在胡拽,其实我个人推荐初学用Python。。)

3.怎么学习C程序设计呢?

①给自己一个暗示,训练思维和开拓眼界为主——原来大千世界还有一种这样的思考方式。这样就不至于在困难面前低头,可以增添自己的认知智慧,当然,谁不想让自己变得更聪明的可以排除除外;

②掌握好基础语法,重视所有出现的概念。有的概念一时半会儿搞不清楚的,也要记下来,为后文做好铺垫。。(怎么感觉读C语言课本跟在读小说似的)

③重视实践,先给自己要编写1000行代码的目标。有的同学看书看明白了,就觉得重码一遍费力,但是我可以很认真负责地告诉这位同学,请相信人脑的“失真度”,信息从“图像”到“字符”绝对存在损失,这就极其要求大家动手操作了,这样才能训练大脑的神经回路,得到精准的知识记忆,再在记忆的基础上,打通任督二脉,拓宽大脑的工作记忆空间,获得对C语言知识的更高层次的认识;

④获得反馈,咬定助教不放松。。系统(更何况在新生学习初期一般都不成系统)在没有外界能量输入的情况下,一定是会熵增的,也就是变得复杂,变得混乱,所以新生们,你们一定要多多询问老师,尤其是拿人钱财,替人消灾的助教老师啊,尤其是那个叫吉吉老师的助教啊,不要放过他,把问题都砸向他吧,让他帮助你们获得良好的反馈,然后熵减,然后复利,然后飞飞飞飞飞起来~~~

听说你们要开始学C了,诸君看罢此文,都准备好启程了么?

听说你们要开始学C了的更多相关文章

  1. 听说你还没学Spring就被源码编译劝退了?30+张图带你玩转Spring编译

    源码学习第一步,Spring源码编译 之所以写这么一篇文章是因为群里的小伙伴在编译源码时碰到了问题,再加上笔者自身正准备做一个源码的注释版本,恰好也需要重新编译一份代码,至于为什么要将源码编译到本地就 ...

  2. jzoj5988. 【WC2019模拟2019.1.4】珂学计树题 (burnside引理)

    传送门 题面 liu_runda曾经是个喜欢切数数题的OIer,往往看到数数题他就开始刚数数题.于是liu_runda出了一个数树题.听说OI圈子珂学盛行,他就在题目名字里加了珂学二字.一开始liu_ ...

  3. JZOJ5988 珂学计树题

    题意 liu_runda曾经是个喜欢切数数题的OIer,往往看到数数题他就开始刚数数题.于是liu_runda出了一个数树题.听说OI圈子珂学盛行,他就在题目名字里加了珂学二字.一开始liu_rund ...

  4. NBUT 1186 Get the Width(DFS求树的宽度,水题)

    [1186] Get the Width 时间限制: 1000 ms 内存限制: 65535 K 问题描述 It's an easy problem. I will give you a binary ...

  5. JY的题目(水)

    JY的题目[问题背景]一天,JY觉得DZY智商太低下,决定和他离婚,除非DZY做出来她出的题目.DZY当然非常想和JY在一起,所以他只好又去请计算机大神WJC帮忙,WJC已经帮过他N多次忙了,不想再帮 ...

  6. 初学PHP心得(第一天)

    我是PHP初学者,听说女生挺适合学这门语言的.所以,我就下定决心,来好好的探究下它,希望它能成为我开启IT道路的第一道关卡. 今天心血来潮,来记录下一天的成果和收获吧.既然想法有了,那就要去实现它.于 ...

  7. 从Activity的启动流程理解Binder

    简述 关于Activity启动流程和Binder的文章很多,大多数是分开来讲的,本文将二者结合起来,着重分析启动流程中跨进程方面的细节,其实,启动流程看似调用繁多,主要是复杂在Activity栈管理等 ...

  8. 洛谷P3810-陌上开花(三维偏序, CDQ, 树状数组)

    链接: https://www.luogu.org/problem/P3810#submit 题意: 一个元素三个属性, x, y, z, 给定求f(b) = {ax <= bx, ay < ...

  9. 你知道Spring是怎么将AOP应用到Bean的生命周期中的吗?

    聊一聊Spring是怎么将AOP应用到Bean的生命周期中的? 本系列文章: 听说你还没学Spring就被源码编译劝退了?30+张图带你玩转Spring编译 读源码,我们可以从第一行读起 你知道Spr ...

随机推荐

  1. 前端MVC学习总结——AngularJS验证、过滤器

    前端MVC学习总结--AngularJS验证.过滤器 目录 一.验证 二.过滤器 2.1.内置过滤器 2.1.1.在模板中使用过滤器 2.1.2.在脚本中调用过滤函数 2.2.自定义过滤器 三.指令( ...

  2. JS中变量名和函数名重名

    今天骚凯问了一道变量名冲突的题目,感觉很有意思,顺便也复习一下预解析的一些知识,有不对的地方忘前辈大神指正,题目是这样的: var a=100; function a(){ console.log(a ...

  3. 【转】NuGet.org 无法访问的解决方法

    打开Nuget,发现又出问题了:未能解析此远程名称:’nuget.org’. 在浏览器中输入 http://nuget.org 会发现是无法打开的. 在cmd命令行里输入: nslookup nuge ...

  4. JSP中ResultSet的方法

    1,如何获得ResultSet的结构 ResultSetMetaData rsmd=rs.getMetaData();cn=rsmd.getColumnCount();for(int ik=1;ik& ...

  5. JavaScript中的this陷阱的最全收集 没有之一

    当有人问起你JavaScript有什么特点的时候,你可能立马就想到了单线程.事件驱动.面向对象等一堆词语,但是如果真的让你解释一下这些概 念,可能真解释不清楚.有句话这么说:如果你不能向一个6岁小孩解 ...

  6. LeetCode:Multiply Strings

    题目链接 Given two numbers represented as strings, return multiplication of the numbers as a string. Not ...

  7. shell脚本每天自动备份mysql数据库

    一.mysql提供了一个mysqldump的工具可以方便的导出导入数据库信息: 二.使用命令行shell测试执行mysqldump,理解必备的参数,查看生成的sql备份文件是否符合需求: /usr/b ...

  8. mysql CREATE USER

    CREATE USER 'Rhine'@'%' IDENTIFIED BY 'Rhine@2015'; GRANT ALL ON *.* TO 'Rhine'@'%'; flush privilege ...

  9. python基础-装饰器

    一.什么是装饰器 装饰器本质就是函数,功能是为其他函数附加功能 二.装饰器遵循的原则 1.不修改被修饰函数的源代码 2.不修改被修饰函数的调用方式 三.实现装饰器的知识储备 装饰器=高阶函数+函数嵌套 ...

  10. RecyclerView

    学习到了 RecyclerView, 本来是ListView,但是我看的视频没有讲.主要是说取代ListView, 原因是更灵活更节省资源. 就是循环展现数据用的. 1. 引入 RecyclerVie ...