介绍
思想决定行动,行动形成习惯,习惯形成品质。 ——陶行知
本周末栏目《华源人》,我们将为您介绍来自华罗庚学院183的佘明超,他有着极强的自控力和自学能力。
上大学真的很容易吗?
没课的时候你又玩得开心吗?
何不看看他如何在一个学期内自学 5 门 MOOC!
01
基本介绍
姓名:佘明超
班级:华苑183
籍贯:江苏扬州
生日:1999年12月6日
爱好和特长:数学、计算机、编程、算法、国际象棋、单口喜剧
座右铭:如果我不能成为第一,那就让我尽力而为。
新生奖项和荣誉
数学竞赛
校高等数学竞赛第一名
江苏省高等数学竞赛三等奖
模特大赛
学校数学建模竞赛二等奖
“认证杯”数学中国数学建模国际竞赛优秀奖
文学比赛
大学生演讲比赛三等奖
校合唱比赛三等奖
其他
大一 GPA 4.48
华苑183班成绩排名第一
优异证书
嘉许状
演讲比赛
高等数学竞赛
02
北
自学之路
南
﹃
大低
迷失在一个人的心里
那个和
年度变化
变化
﹄
刚进华源的时候,也许是由于笔试后的盲目自信和无法适应大学生活,大一上学期我很郁闷,找不到自己,就这样浪费了一个学期的时间。 。大一上学期结束后,我反思了这半个学年的自己,觉得自己需要做出改变,必须做出改变。
重新审视自己后,我发现自己的知识面太窄了,我什么也做不了。无论是参加比赛还是搞科研,我都做不到。我决定拓宽自己的知识面,于是我想到了中国大学MOOC。要明白所有的课程都只能补充基础知识,想要深入钻研还得靠自己。
MOOC自学之路的开启
为了提高自己处理抽象问题的能力,加深自己对计算机科学的了解,我决定学习离散数学。为了增强解决工程问题的能力,我学习了复杂的变量函数。为了提高工程问题的算法实现效率,我决定学习MATLAB。为了提高自己解决概率统计相关问题的能力,我决定学习概率论和数理统计。为了能够利用Python强大便捷的功能,我决定学习Python编程。
自学并不容易
一次学习这么多课对我来说有点困难。我每天五点左右就起床。起床后办完一套手续,我就早早的来到教室开始自己的学习。我充分利用了白天所有的空闲时间看视频,晚上自学。斗争结束后还没有结束。即使是上床睡觉后,睡前也应该多读几个知识点。每逢周五、周六,开夜车就成了家常便饭。日子一天天过去,我感觉越来越辛苦,但我总觉得自己是痛并快乐着的。过了这段时间易语言制作软件教程,以后就容易了。
后来证明我的努力没有白费。在今年暑假的数学建模培训中,凭借在MOOC中学到的知识,解决问题和编写程序变得更加容易。另外,我在解决问题时也有一些别人没有的技巧。这个特殊的想法很快就得到了老师的赞赏。
03
课程设计坚持到底
开始
设计的开始
2019年5月下旬,C语言课程设计开始。周天通老师为我们精心设计准备了Windows编程拓展资料,并提出了12道基于Windows编程的课程设计题。
在过去的一年里,我们一直在学习面向过程的控制台编程,但是说到课程设计,我们是在做Windows编程。我对此感到兴奋和好奇。从小到大,我特别喜欢这样的任务:暂时教给你一些没学过的知识,然后用这些知识来解决问题,就像我考入华苑时笔试的数学题一样。怀着无比兴奋的心情,我开始了为期半个多月的课程设计。
起初,怀着对未知领域的渴望,我根据周天童老师给的拓展资料开始学习Windows编程。拓展资料分为6个模块易语言制作软件教程,分别是“Windows初级”、“交互与动画”、“网络”。 “邮槽通讯”、“多媒体语音输出”、“调用Matlab”、“使用外部动态链接库——Solitaire”,渐渐地,圣经般的代码让我慢慢变成了一个只会跟着教程的人。一步步搭建一个机器人,我能理解教程中提到的代码的功能,也知道如何修改它以“为我工作”。但我不知道为什么代码的结构是这样的,以及其他代码的功能是什么。我不知道。很快,我就把所有的拓展材料都看完了。我并没有感觉自己取得了很大的进步。他们中的一些人只有无尽的疑问。所以我决定再次浏览一下扩展材料。我似乎很难理解那些我无法理解的代码。我发现了一些模式。与以前控制台程序的编程风格从main函数开始逐步执行不同,Windows程序没有非常固定的执行流程。借助我不太强的英语水平和十多年的使用经验,通过我的计算机经验,我发现windows编程通过接收不同的消息做出相应的响应。另外,我还发现有些变量看起来像结构体,但它们可以通过点运算符执行函数。以我现在的理解,这是一个类,Windows编程是一种面向对象编程。但当时我并不明白,只能摸着石头过河,一步步探索。
掌握了一点之后,我开始做课程设计项目。我选择制作一款卡牌游戏《海龟抽奖》。真正的挑战开始了。经过对题目要求的初步分析,我确定了变量。关于存储方式和存储格式,针对不同的功能需求,我决定使用函数来封装不同的功能。虽然编写和调试函数是课程设计的第一步,但对当时的我来说已经充满了坎坷。依稀记得我曾经发过一条消息,说:“课程设计的第一步就是疯狂编辑功能,编辑完再回顾,缺点数不胜数。”写完几个基本功能后,我就尝试去填充一下,进入win32程序的框架,我以为一些基本功能已经实现了。没想到,程序一运行,bug就到处都是。经过一个多月的摸索,我终于完成了所有的任务。当时我内心的激动之情难以言表。
现在回想起来,课程设计的时间对我来说非常宝贵。有了Windows编程的基础,再加上假期的充电,我现在可以跟着导师做事了。
04
学习建议
数学
从小我就对数学非常感兴趣,大学时也不例外。对于数学的学习,我认为我们不应该满足于记忆和使用定理和性质。我们还应该推论定理和性质的起源。有时,显而易见的结论很难证明,有时我们不知道定理和性质。原因是当你需要使用它的时候你不记得使用它了。课本上有但不属于考核范围的内容也应该涉猎。如果你只能对考核范围内的事情进行计算和证明,那只是表面的,不会影响你深入的数学素养。提高能力水平并没有什么帮助。要做到这一点,必须克服短期、急功近利的功利主义。数学是所有工程学科的基础。如果你学好数学,你以后的专业课程就会非常顺利。
以高等数学为例,佟老师讲课非常有耐心,能够让大多数人轻松理解知识点。不过课堂上讲的有点基础,需要课后花一些时间进行深入发展。对于想要参加比赛的同学来说,课后需要付出更多的努力去拓展。今年全省高中数学竞赛之前,我因为其他事情占用了太多的时间,裸奔考试。我以为我有能力解决困难的问题。但当我走进考场时,我就感觉自己明显走样了。最终我只获得了省三等奖,很遗憾。除了掌握知识点之外,了解一些数学史也很有趣。
编程和软件
C语言是我在大学里学的第一门编程语言。之前上一次“编程”是在初中的时候,我按照网上的教程,用《易语言》一步步制作了一些非常底层的小玩意。 C语言与高等数学一样重要。它是大学级别所有编程的基础。一旦学会了C语言,其他编程语言和工具如C++、Python、Java、MATLAB、lingo等都会非常容易学习。 C语言的一个重要目的就是用代码来表达自己的思想,利用计算机强大的计算能力来实现人类难以完成的任务。例如,在中学,当我们求一个序列的前n项之和时,我们都会推导出表达式。因为将表达式一一相加的工作量太大,而有了程序,我们可以直接让程序一一相加,时间只有秒或毫秒。这样也可以解决一些简单表达式无法退出的问题。
另外,对硬件的控制,比如单片机等,都需要通过程序来实现。对于编程来说,我认为掌握一门语言的语法只是学习使用工具,更重要的是程序的设计,这离不开各种算法。如果你不知道如何设计程序,只知道语法是没有意义的。闲暇之余,了解一些常见问题的算法以及抽象一些问题后得到的数学模型对应的算法是非常有意义的,比如常用的遍历算法、最小二乘法、牛顿法、辛普森算法等解决数学建模中的抽象模型。 Runge-Kutta算法等,图论中的Prim算法,Kruskal算法,dijkstra算法,Floyd算法,Huffman编码方法等。对于编程来说,仅仅掌握C语言是不够的。对于矩阵处理,C语言远远落后于MATLAB。这就是为什么许多数学问题都是用 MATLAB 解决的。对于面向对象编程,就得依赖C++、Java等。