重视基础学习的大一同学

【学生来信】

尊敬的贺老师 :

  你好!我是一位普通二本大学的一名计算机系的大一学生,学校课程主要是C++方向,现在经过一年的学习C++课程(仅仅学过C++与离散)从面向过程到面向对象的学习,发现自己仅仅局限在课本。也就是只知道一些语法相关知识,另外离散数学听学哥说很重要,可是我学习了一个学期在编程上没有用过,对于离散在计算机编程中有什么作用我也不懂,希望老师能够回答我几个问题,谢谢您!

  1,离散数学在计算机运用的书,哪些书适合初学者,我希望这些书能够在编程中用到。

  2,C++最好的学习环境是在LINUX/UNIX还是在WINDOWS?

  3,是否应该学习MFC对于SDK您有什么建议?

  4,C++是一门强大的语言,但是我现在体会不到他的强大,请老师介绍几本类似的书,让我能够更深刻的理解C++思想。

  5 ,您说的计算机基础要狠抓,您能具体一些么,我有些不知道。

 

【我的回复】

  来信读过。

仅限于书本的学习一定要突破,这是上大学以后应该有的转变。信中的一个提法“主要是C++方向”不妥,C++只是一门课程,通过这门语言课,学得程序设计方法,而不是C++本身,这是最重要的。

  离散数学确实非常重要,其重要程度甚至到了几乎感觉不到其存在的程度。这句话听起来矛盾,我要说明的是,要让离散数学的精髓成为你思维当中无影无踪的支撑,一想问题,意识不到离散数学,但确实就是那样想的。说玄乎了,举个例子,离散数学中的证明,一来就是先构造一个……,这个……能做要求的事,再证明确实能做。这不就是我们写程序做“自动机”和过程吗?这些东西在学的时候,可以不多想应用,多做习题,把那种处理问题的思路通过重复定型在大脑中。

     下面是我对你的具体问题的看法:

  1,离散数学在计算机运用的书,哪些书适合初学者,我希望这些书能够在编程中用到。答:这样的书我没有见过。但在涉及理论性的书中,却到处都有。离散数学作为一个很基础、抽象的学科分支,一定要秀一秀其用法,有些对不住其价值了。倒是离散数学中的一些问题,可以拿出来实现一下,尤其是在图论的那个部分,另外将来学习算法时,会有较为直接的应用。留给以后吧,不必追求其直接价值,学好了,其作用是间接的。程序设计实践中多做些像ACM的题,细加品味,能用到离散的知识,感受到学好离散给你带来的能力提高。

  2,C++最好的学习环境是在LINUX/UNIX还是在WINDOWS?答:学习阶段,哪个方便学哪个。我们要学的本事是要在哪个平台上都能用的。

  3,是否应该学习MFC对于SDK您有什么建议?答:为MFC争得一塌糊涂。我认为还是有价值学MFC的,一重视学了MFC,更重视在这个过程中获得的体验可以用于指导学别的东西。大学低年级,有资格不那么功利。

  4,C++是一门强大的语言,但是我现在体会不到他的强大,请老师介绍几本类似的书,让我能够更深刻的理解C++思想。 答:理解思想,更得注重通过实践理解这些思想,书有:Bjarne Stroustrup的《C++程序设计语言》,《C++ Primer》,《C++编程思想》,都是大部头,还有一本《好玩的c++》我看过比较简单,但上面的题目不错。

  5 ,您说的计算机基础要狠抓,您能具体一些么,我有些不知道。答:作为专业学生,高等数学、离散数学是思维基础;线性代数、概率论、数理统计、英语,基础中工具性的味道更重些;数据结构、组成原理、操作系统等是专业基础;C++等程序设计语言的学习与实践是在工具层面和技能方面的基础。归结一下,尽力学好学校开出的课程(不光是考好),在课外多加以实践提高。

  抓紧和利用好低年级的时间,做一个基础扎实,能力出众的IT学生。




上一篇:基于MFC实现教务管理系统:包含教师模块、学生模块、系统模块,C++代码详细解析


下一篇:MFC 单线程 多线程 随机数小数 随机数整数