C++学有余力的大一同学的学习拓展

【一名亲弟子的来信】
贺老师:
  您好!我最近有点困惑,希望您能指点一下。我最近感觉作你平常的实践项目,感觉不是那么困难了。所以在剩余的时间里想早点事情来提高一下自己,我找了一些acm的试题,感觉还有很大差距,算法方面还是不行。想让老师给指点指点,以后课余的时间是着重提高算法能力,还是继续往下学习Windows程序设计?提高算法能力应该从哪下手?希望老师指点一二……

【答复】
  这是一个很好的问题。本想着比较详细地谈谈对这种学有余力的同学应该如何学的问题,最近忙于写一本指导IT大学生找到有效学习的书(第一次在博文中预告,题目初定为《走出大学的泥淖——给IT学子传递正能量》,合同6月30日前完成,11月前可以出版),这学期的时间将非常紧张,就简单些讲,针对你的问题谈些看法。
  我的课堂,由于学时限制,以及要照顾多数同学,只能介绍C++最基本的的内容,而实践内容,做一半,如果独立完成(包括看了别人的,而后自己再写出来),能够掌握基本语法和用法,全做完,能够有所体会。所以给你的第一个建议是,需要同步再看上一两本经典的C++的书,并完成相应的练习,在语言层面有更深的理解,真正将C++成为你最坚实的写代码的基础,你是需要摆脱老师的节奏控制再向外扩张了。推荐看的书有《C++Primer4th第四版中文版》和《C++程序设计语言_特别版》。
  从长远来看,在大学阶段,专业基础积累的底蕴将决定你的事业的适应面有多宽,是否能达到直面产品中最核心的效率问题(人开发的效率和机器执行的效率)和可靠产品的层次,应当是该有的的追求。做到这一点,非ACM莫属。所以,抽些时间,在这方面有所提高,也是必要的。只不过,我不赞成一门心思钻了这个。对大多数人而言,强行为了这个目标去钻研可能会感受不太好,而每周都能拿出固定的时间,持续地投入做,总体效果可能会更好。多刷题是必要的,但可以看些些。刚起步不适应感到差距实属于正常(想想刚开始编程时的状态),可能和选用的入门材料不合适有关,也和你学编程才几个月的时间有关系。不要急躁,随着体验的增加,复杂的问题是可以解决的。受你来信的启发,我又找了几本参考书,哪本合适,自己找找感觉可以看下去。这些书包括北大李文新的《程序设计导引及在线实践》(之前推荐过的)、刘汝佳著的《算法艺术与信息学竞赛》和《算法竞赛入门经典》、曾棕根的《ACM程序设计》、吴文虎的《世界大学生程序设计竞赛(ACM-ICPC)高级教程:程序设计中常用的计算思维方式》。这些都适合没有学习其他专业课的学生学习。过一段时间,ACM协会的预备队的活动将进一步正规起来,希望你坚持参加,并报名参加今年学校的新秀赛。
  至于《Windows程序设计》是我倡议大家在寒假时尝试深度体验的项目,从中可以发现目前所学对做应用的支持,知道计算机底层的东西。如果时间紧,可以将之放一放。但是,学习那么多的基础和看法,总不拉出来溜溜是个问题,抽一段的时间(比如再一个假期)攻克一下,将是一种好的体验。后面我还会推荐《MFC程序设计》,是一个道理。另外,诸如HTML之类的应用基础,也可以在不想做其他事情的时候体验体验。
  最后提醒的是,正处在大一,其他的课程,也要均衡地给予关注。大学解决的不止是专业课的学习。可能我过虑了,但也还想多嘴一声。
  在大学里,能够轻松完成老师要求的学习任务是一件很美好的事,再加以拓展,将会学出你的精彩。我给你提得事情有些多,量力而行,注意通过提高效率去争取尽可能多的收益,而不是通过耗尽所有的时间,在艰难中跋涉。在愉快的感受获得进步,这是该有的平衡的追求。

  祝充实度过每一天。

时间: 2024-10-24 18:23:39

C++学有余力的大一同学的学习拓展的相关文章

一位想学很多的大一同学

[来信] --(一封标点.断句都很乱的信,作者甚至写完都没有再看.) [回复] 信结尾你说,说得有点乱.我在读的中间,要不是想看明白,也真觉得读不下去了.这是一封你一边想一边写出来的文字,想的中间有跳跃. 犹豫之后,我决定给你提出要求,请你将这封信重新整理后再给我发来.要知道,这封信如果是求职信,或是工作后给领导汇报工作的信,可能你失去机会的原因就是这个.你感觉自己的学习有些乱,大概这封信就是最贴切的写照. 这是你让别人明白的必要.我写的文字不少,现在也习惯了写完后,自己要至少看一遍,要交待的事

为一位大三同学的学习之路点评一二

一名网名为"不忘初衷"的大三学生给我在<学习也需要管理>中评论,请我"指点一二",依他给的链接,我找到了他刚写的<一年的奋斗时间去了三个半月>.从网名,以及他已经度过的两年多大学生活看,他还是很认真地对待自己的大学的.他这样的自省是需要的,但也许是刚考过六级,对六级没有怎么准备而心生不满的情绪还在主导,他对自己的否定多了一些.对自己好一些,多看到自己的收获,这样的求学生活的感受会更好.另外一个因素,我一直很认同"大一不知道自己不知道

想学算法,求由浅入深的学习资料。

问题描述 想学算法,求由浅入深的学习资料. 想学算法,求由浅入深的学习资料. 最好能有全套的学习资料,包括数据结构..... 解决方案 找本大学本科生用的数据结构和算法的教程即可(严蔚敏C语言版). 解决方案二: 数据结构说的算法已经是最简单最简单的了.一般来说,数据结构是紧跟着C语言程序后大学开的第二门课.再简单都简单不起来了. 解决方案三: 真正能算算法启蒙读物的应该是<编程珠玑>,不过现在对你来说都显得比较难. 系统学习可以看<算法导论>,一般的程序员达到这个程度就可以了.说

3D动画的希望!学动画三年的同学作品“龙珠”,看完感动哭了!

class="post_content" itemprop="articleBody"> 学动画三年终有所成,Really3D 工作室出品的 3D 动画"龙珠"!他们的口号是"全世界最棒的 3D 动画"!看了之后简直感动得一塌糊涂--炫酷的特效,激烈的打斗,完美的还原的孙悟空 VS 魔人布欧的场景!太鸡冻了-- 学动画三年的同学作品"龙珠"

重视基础学习的大一同学

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

一位热爱编程的大一同学期末困惑

[来信] 老师你好.我是来自一所普通的211学校,我从高二接触了编程,感觉编程太神奇了,然后自学了C语言,期间没有任何人教,都是自学.但由于高三的到来,一年没学编程.到高三自己立下目标,一定要考软件工程专业,结果的确实现了. 开始我担心自己入学的编程水平太差,到暑假看汇编和复习C语言,然后又到网上找视频教程看,总之开学之前学完了C语言.不过开学后,我发现我们软件学院的学生很多人根本没学过编程.自学过C语言,目前竟然没发现.更让我郁闷的是教我们C语言的老师讲课水平实在不敢恭维,上课也没听过讲,(刚

求助一下。。c#学完基本内容之后应该学习什么。

问题描述 想知道学习的路线.现在还会一点asp.net今年大三.马上快实习了..求助呀 解决方案 解决方案二:不学了,都知道了,还学什么?解决方案三:引用1楼xuzuning的回复: 不学了,都知道了,还学什么? ...无言已对......解决方案四:自己找点东西做吧不做东西你看再多知识都没用因为你根本就不知道你需要学习什么知识只有做东西的时候才会知道你需要什么解决方案五:做过项目么?尝试自己做项目比如说,照着你们学校网上查成绩的网站,自己做一个一模一样的出来,做的过程中看哪里卡壳,就知道哪里不

《趣学Python——教孩子学编程》——第1部分 学习编程 第1章 Python不是大蟒蛇 1.1 关于计算机语言

第1部分 学习编程 第1章 Python不是大蟒蛇 计算机程序是一组让计算机执行某种动作的指令.和那些电路.芯片.卡.硬盘等不同,它不是计算机可触摸的部分,而是隐藏在背后运行在硬件上的东西.计算机程序(我常简称为"程序")就是一系列告诉没有知觉的硬件做什么事情的命令.软件就是计算机程序的集合. 没有计算机程序,几乎所有你现在每天使用的设备都将变得要么没有用:要么没那么有用.计算机程序不仅以各种形式控制着你的个人电脑,同时还有你的电子游戏系统.移动电话:还有车里的GPS单元.还有些不那么

那些年,我还在学asp.net(一) 学习笔记_基础应用

那些年到此,基本学习了前端的基本知识,那些年的第四课就是asp.net,当然那时看了很多教程,比如说:天轰穿,当然天轰穿说得比较多,如面向对象,C#知识,由于当时上过C++,所以就没有看这些,直接从asp.net开始,主要是学习一下asp.net用到的一些基本控件,后来感觉差不多了就不再看了,开始学习asp.net的数据教程(scott教程),那些年慢慢的走向web开发了.    先还是看一下asp.net中的一些基本的控件的使用. 一.GridView控件的使用 1.GridView 是asp