重视基础学习的大一同学

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

【学生来信】

尊敬的贺老师 :

  你好!我是一位普通二本大学的一名计算机系的大一学生,学校课程主要是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的,一重视学了MFC,更重视在这个过程中获得的体验可以用于指导学别的东西。大学低年级,有资格不那么功利。

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

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

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




目录
相关文章
|
4月前
|
Kubernetes 架构师 测试技术
软件测试|测试专家(前阿里P8)聊测试职业发展常见瓶颈
软件测试|测试专家(前阿里P8)聊测试职业发展常见瓶颈
56 0
|
11月前
|
存储 城市大脑 运维
程序员成长第一篇:机会与趋势
程序员成长第一篇:机会与趋势
79 0
|
11月前
|
前端开发 测试技术 程序员
程序员成长第八篇:做好测试工作
程序员成长第八篇:做好测试工作
190 0
|
搜索推荐 架构师 测试技术
|
前端开发 程序员 开发者
开发者要想走更好的出路必须选全栈工程师这条路吗?
虽然说“技多不压身”,“术业有专攻”,但是作为程序员,尤其是做业务场景的开发者来说,并不是会的面越广越好,而且现在的技术迭代速度太快,不管是前端领域还是后端领域,技术栈或者技术框架更新迭代的周期越来越短、越来越快,学习成本越来越大,尤其是要做资深的全栈工程师,需要学的知识是非常的多,而且还需要各个方面的时间沉淀,考虑到人的精力会随着年龄的增长而递减,成反比例,所以虽然全栈工程师有着丰富的工作从业经验和经历,但是如果想要具备各个方面都差不多,难度是很大的。
162 1
开发者要想走更好的出路必须选全栈工程师这条路吗?
|
安全 小程序 测试技术
初级软件测试面试会问什么 一般分为常识以及技术问题两个板块
对于职场人来说,面试决定了你最后是否能进入到自己喜欢的公司,干上自己想干的工作, 尤其是对于新手测试人来说,如果没点真本事真技术,不了解hr在面试会问些什么问题,就很容易因一时紧张而回答得乱七八糟,导致错失机会,而初级软件测试面试时hr会问些什么,这应该是很多准备找工作的测试人都想要知道。
|
小程序 程序员 Windows
学习经验
写写自己的学习经验
|
人工智能 算法 安全
【C++怎么入门】C++是什么及发展史 | 重要性(工作领域、校招领域) | 怎么学
【C++怎么入门】C++是什么及发展史 | 重要性(工作领域、校招领域) | 怎么学
134 0
【C++怎么入门】C++是什么及发展史 | 重要性(工作领域、校招领域) | 怎么学
|
存储 算法 Ubuntu
学习 C++ 的一点浅薄经验
工作所需,需要学习下 C++,今天就谈一下自己是怎么快速学习 C++,并且在工作中实际上手开发的,希望能够给大家一些启发。
127 0
|
JavaScript 前端开发 安全
面试的信心来源于过硬的基础
面试的信心来源于过硬的基础
99 0