作为一个数学专业的学生,我是怎么看待编程的?
Posted 努力学习游泳的鱼
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了作为一个数学专业的学生,我是怎么看待编程的?相关的知识,希望对你有一定的参考价值。
1.概况
博主的专业是数学与应用数学,简称应数。虽然后面跟了个应用数学,但是这个专业应该是本科阶段最接近数学的专业了。我认为这个专业使我具有如下的几个优势:
- 数学的学习使我具有较强的思维能力。编程本质上就是通过写代码的方式来解决实际的问题,而解决问题时,清晰的思路显得尤为重要。数学,比起其他学科,会更加抽象一些,对我锻炼思维能力颇有助益。
- 很多编程时遇到的实际问题,最终都可以转换成类似的数学问题。应数专业有一门必修课,叫做数学模型,讲述的是如何用抽象的数学符号、数学式子、图形等刻画客观世界的本质,从而转换成数学问题,最终用数学方法解决问题。而解决这些数学问题时,如果计算量较大,最终还是要使用编程的方式来解决。
- 学习数学使我养成了勤动手,爱分析和计算的好习惯。由于很多数学问题非常抽象,推理的过程很长,同时也有一定的计算量,这使得我必须勤于动手,通过纸笔画图、分析、计算。编程时,我也会先画图分析,写出程序的基本框架和流程,再动手敲代码,这使得我在编程的过程中事半功倍。
2.我为什么喜欢编程?
事情还得从我上中学讲起。当时,我父亲着力把我往数学方面去培养,他给我买了很多数学的科普书籍,比如《数学花园漫游记》《数学与哲学》《数学家的眼光》等等,试图培养我对数学的兴趣。他认为我天生就是一个学数学的料(至今我仍然不知道他为啥这么认为),这也是我后面专业报了数学的一个重要原因。但这些数学的书籍在讲述数学世界的美的同时,经常提到计算机的概念,这反而提起了我对计算机的兴趣,对编程的兴趣。
除此之外,我作为一个走读生,并没有受到学校太大的限制,并且让我很早就接触到了计算机。那是我上高中的时候,我父亲给我买了一个笔记本电脑。当然,他的初衷是让我利用计算机学习课程,比如一些网课,还有查阅资料、记电子笔记等等。但是对于一个几乎从来没有接触过电脑的中学生来说,这是个非常新奇的事物。中学阶段,课业压力重,学校的事情大部分都千篇一律,没有什么变化。所以,哪怕是一台小小的笔记本电脑,我也会在无聊的时候乱折腾。
这“折腾”起来就不得了了,很多事情我现在想起来都觉得很有意思。我喜欢往电脑上装各种软件,看看有什么奇怪的功能,然后再卸载掉。我也会进到系统的设置里面,胡乱捣鼓各种设置。我还会上网冲浪,看看网络上有什么新奇、有意思的东西。我还学会了用U盘重装系统,当我感到电脑已经被我搞的一团糟的时候,就把系统重装了。如此种种,让我认识到了计算机世界的神奇。
我在课余,还有一个重要爱好,就是下棋。这个棋就包括中国象棋、围棋还有五子棋等等,这些棋类我都会买几本书来系统学习,这就导致我的水平比普通人高出一点,已经在我生活的圈子里找不到对手了。那就只能到网络上和网友下棋,或者是跟电脑软件下棋。在我跟电脑软件下棋的时候,一旦把难度系数调高,就会感受到非常强的压迫感,无论如何都很难赢电脑,这又激发了我对棋软的兴趣,甚至去买一些付费软件(水平比免费软件要高出一大截)来测试,比如让两个软件互相下棋。不过更令我感兴趣的是,这些软件到底是如何计算的,为什么能做到每一步棋都如此稳、准、狠,令人摸不着头脑的同时又无懈可击。
在我买的棋类书籍中,有一两本书,是专门讲解人工智能如何下棋的。在计算机的世界中,一切都是数值的运算。以中国象棋为例,棋软会定义每个棋子的价值、棋子的位置带来的威胁度、棋子能走的位置是否通畅等等,并通过一些算法,计算出当前局面的分数,并不断用类似穷举的方式去推演接下来可能的走法。这些观点非常吸引当时对计算机还一无所知的我。
其实,我不知道这里面究竟哪件事是导火索,让我从此无可挽救的喜欢上编程。或许,计算机作为新兴的事物,本身就具有极强的魅力,所以喜欢上她并不需要理由。不过,中学期间并没有太多时间系统学习编程,具体的学习还是得等到上大学之后。
3.学习编程时,我会怎么做?
上了大学之后,我就可以发挥出我较强的自学能力这个优势了。我学习编程的主要途径就是阅读大佬的书籍,以及大量的练习。我想,这两件事情大家都会去做,而且应该也能做的挺不错。不过我想说的是另外两件事,那就是:
- 学习编程不只是编程,还要多去学习数学和英语。
- 学习编程,更重要的是编程的思维,画图+总结梳理是非常重要的。
3.1 数学和英语的重要性
作为一个数学系的学生,我想说的是,数学确实对编程有很大的帮助。我也结识了一些学习编程的朋友,根据我的观察,由于我对数学有自己的一些理解,在解决一些编程问题时会有不同的角度,这尤其体现在某些算法问题上。不过,更重要的还是学习数学对一个人思维的锻炼,我发现,数学学的好的同学,抽象思维的能力比普通人要强得多。数学是需要花专门的时间去学习的,不过网络上有很多免费的课程,市面上也有很多相关的教材,多去看看大佬是如何分析和思考问题的,反过来也会对编程有所帮助。
至于英语,我想不必多说。学习编程时,免不了要去看英文文档,如果看不懂的话,会走非常多的弯路。不过我认为,英语不用去专门花额外的时间去学,在看英文文档的同时,去查一查不认识的词就行了。我自认为英语学的还可以,所以需要查询的词汇比较少,如果你英语基础比较薄弱,那就多查查就行了。在技术文档里,很多词汇都会反复使用,所以到后面熟练了,感觉会比一开始好很多。
3.2 画图+梳理总结
画图!画图!画图!
写程序之前,请先画图,梳理清楚你想写什么,流程是怎么样,然后再动手去写代码。不然,很有可能是一波操作猛如虎,调bug调一上午。
举个数学中的例子,有时候你会觉得某些概念或者定理非常抽象,这个时候厉害点的老师就会告诉你,应该数形结合。而编程,很多时候也是有些抽象的,但是很少会像数学那么抽象。数学中有些定理实在是过于抽象,由于我水平不太够,实在是无法通过画图的方式来表述。但是编程中很多看似非常复杂的问题,一旦用图来表示,就会变得清晰明了,从而被解决。
当然,在梳理总结知识点的时候,也可以通过画图的方式。如果你觉得你没法准确的通过画图来表述某个知识点,那很有可能是因为你学的不够扎实。
总结
说一千道一万,关键还是要去付诸行动,比如每天抽出2~3个小时来学习编程,周末全天时间都来学习编程。我学习编程的目标还是为了更好的武装自己,既然有兴趣,又能在某个领域做出自己的贡献,何乐而不为呢。其实,我也没有想好未来要去哪家IT公司,但不管是去哪里,能充分发挥出我的价值,我就满意了。
本篇博客主要是讲下我对编程的一些看法,方便你更好的了解我。由于主要是发表一些看法,我也没有举一些具体的例子,如果想要和我一起学习编程,建议你去阅读下我其他的博客,我会尽量做到日更。
另外,如果对我有什么建议,可以直接在评论区提出,非常感谢大家。
“我是文科生,是不是没必要学计算机学编程?” 前两天,一位社会学专业大四学生,给我们留了言。 然而,这是个典型的偏见。
如今,AI盛世,国家政策大力扶持,各大高校也相继开设人工智能专业,加上求职率极高的互联网行业蓬勃发展,这一系列的迹象都表明,python确实是当下发展的趋势。
而且python在信息搜集和数据分析方面的应用已经非常普遍,早就不是程序员的专属技能了。因为编程而拥有的“高光时刻”越来越多,编程已经几乎变成了职场的必备技能。
01 做行政
很多公司已经用python自动形成考勤表,完成资产盘点和记录,轻松实现办公自动化。
02 做财务
需要用 python完成庞大的报表数据的统计和分析。
03 做销售
你要会用python生成销售业绩表,周报和月报。
04 做运营
你要会用python抓取竞品海量信息,得出分析结论,制定更加有利的运营策略。
......
这让我想到,之前在实习期间认识的一位学长,学了一个不喜欢的专业,当时正在找和专业不对口的实习单位。
最后他顺利拿到了这家公司的产品经理的实习offer,成了那年公司录取的唯一一个非科班出身的本科生。
不仅仅是职场人士需要具备一定的编程技能,在校大学生学好python也能给自己带来很多好处。
学弟在毕业时为完成必修课题论文,摔烂了三个鼠标。
为了找一些数据资料,学弟经常需要点开几十个网页,一个一个地手动点开,然后快速查看有用的信息,然后再不断复制粘贴到本地文档... 耗费巨大的时间和精力。
“凌晨两点半,我还开着灯,望着满屏幕密密麻麻的文献,差点让我爆炸……我还得一直 ctrl+s,就怕电脑死机!或者我猝死忘记了保存……”学弟跟我疯狂吐槽。
站在旁观者的角度,我帮他分析了一下:出现这些问题主要是就是积累的素材不够,了解的信息和数据不全面。
于是我请同事用python用几分钟帮他爬取了他论文选题需要的所有相关文献案例和课题研究的数据,
去交报告回家的那天,他兴奋地告诉我,他的那篇论文被导师评为“优秀论文”。
后来,学弟像着了魔,也去自学python,还一个劲儿的向我炫耀他做的各种小案例...
他告诉我:用几十行代码写一个简单的爬虫工具,几分钟不到,就能自动抓取指定网站上的成千上万条数据,要多少有多少。那感觉,就跟玩卡丁车持续有氮气加速差不多,非常爽!
这一次,学弟也在秋招队伍中。
幸运的是,当同学还在为自己去哪儿发愁的时候,学弟在一个月前就已经拿到了一家外企的offer。
“文科生,没基础,学编程很难吧?”
或者一听到“学习”这两个字,就有一种被支配的恐惧?
以前我也有这样的认知,但当我接触到了「Python小课」, 我自然地就想把它推荐给大家。因为:在这里学编程真的很容易,3天左右即可入门。
或许你也曾经在某个时间段被身边的人或者周围环境影响,觉得应该学一些编程,却迟迟没有迈出第一步。
诚然,进入一个新的领域我们往往需要强有力的理由来说服自己。然而你或许不知道,即便你无心做程序开发,甚至不在IT互联网行业工作,你依然有一大把理由学习编程。
01
一个从事电商市场运营的职场萌新,每天午休抽空学习 python爬虫,通过抓取同类店铺的单价、客户群、销售额、每日价格趋势分析、并制作数据报表,大大提升了运营效果。
店铺活动效果达到了之前的两倍,每天准时下班还涨薪两倍。
在金融行业,可以用不到200行的代码,根据给出的历史起点日期和股票代码,自动从财经网站里获取直到当日的交易数据并绘制基本走势图、移动平均线、RSI和MACD指标,做出了漂亮的股市分析图。
在金融行业,可以用不到200行的代码,根据给出的历史起点日期和股票代码,自动从财经网站里获取直到当日的交易数据并绘制基本走势图、移动平均线、RSI和MACD指标,做出了漂亮的股市分析图。
一个非常有生意头脑的商学生,爬取了学年论文所需要的素材,发了截图在行业交流群中,没想到竟然有同学问她:能不能卖一份给他?
30分钟抓取毕业论文素材,赚了200元
为工作的学长抓取某点评网站5k+评论,赚了800元
单靠这一技能,她轻松赚取了不少的收入。
或许你也曾经在某个时间段被身边的人或者周围环境影响,觉得应该学一些编程,却迟迟没有迈出第一步。
诚然,进入一个新的领域我们往往需要强有力的理由来说服自己。然而你或许不知道,即便你无心做程序开发,甚至不在IT互联网行业工作,你依然有一大把理由学习编程。
这也是为什么,我这次想把风变编程-python小课推荐给大家的原因!一个让我改变对编程固有认知的地方,也希望这一次,你可以抢先抓住机遇。
想参加的小伙伴真的要立刻抢购喔,先报先占位 !
以上是关于作为一个数学专业的学生,我是怎么看待编程的?的主要内容,如果未能解决你的问题,请参考以下文章