首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

大二学生关于学习C++的迷茫 请各位学长指点~解决方案

2012-02-09 
大二学生关于学习C++的迷茫 请各位学长指点~`各位学长~``新年快乐~``我是一个非计算机专业学校的本科学生(

大二学生关于学习C++的迷茫 请各位学长指点~`
各位学长~``新年快乐~``

我是一个非计算机专业学校的本科学生(东北农业大学)~`

在学习里上学期刚刚学习了C++~``

老师讲课时候和我们说算法对于程序员来说不是很重要~`

客户一般会给提供~`(对老师不太认可~``和我个人认为不太一样)

而且学校讲的东西都很浅~``

自己学习了C++   primer~``书中的习题全部都打过~``

书也大概看了两遍~``可是还是感觉自己不会什么~``

自己打的话最多也就是打个primer里那种的文本查询~``

很迷茫   不知道自己该如何学   下一步准备去看think   in   c++;

今年五月份还准备去考程序员~``

想在大4之前考下软设(听说着几个证对我们非计算机专业的学生在找工作时候会有帮助)

英语是我的硬伤~``基本上初中词汇水平~``也很痛苦~`还有四级要考~``

想请各位学长们   帮忙规划一下   学习计划~``

谢谢大家~``


[解决办法]
是MM吗?
[解决办法]
鸟人啊,你怎么能这样呢?

建议低年级时多看些东西,面儿广些,到大三大四再钻一个方向,那时你才知道想干什么
不像很多人,毕业了都不知道自己想干什么

英语必须得自己积累了,不要放弃,找本英文的C/C++教程看一下吧,很有帮助的
[解决办法]
首先,不要太执着于语言,但是你必需要把c的语法弄明白,最好,还知道汇编级别是怎么完的,
即使你看不懂也不要紧,尝试追踪一下,遇到问题自然会驱使你去找计算机组成原理,体系结构等书寻求答案,这对你理解程序的编写,运行

和优化是有好处的。

其次,学数据结构,至少也要把握常用的算法和数据组织方式,
通常这两者是不能分开的,算法是基于某种数据组织方式上的有限有序的操作。
学会把你遇到的生活中的问题分解成这些常用的算法,如果你能修练到高一点的级别,
学会了从数学模型角度去考虑问题的话,那恭喜你,你已经超越很多人了。

学点操作系统原理,看看那些前辈们在理论上是如何对那些简单而繁杂的机械和电气操作
抽象出一个让我们感觉到如此方便的用类似自然逻辑的方式思考的法则。然后选定一个
平台linux或者windows,仔细的研究其中的实现,为以后的职业生涯做好准备。
当你能够清晰的看到一个程序如何创生和消灭的各种细节,那就恭喜了,你具备了一个程序员的技术基本功了

学点数据库原理,知道大批量的数据应该如何组织才能够满足性能和功能的需要,如果知道数据库的实现,那更好。
把范式玩熟,知道如何做数据库结构设计,至少也要把sql玩熟,
这一部分的学习很枯燥的,范式理论函数依赖和sql涉及很多的离散数学中的逻辑推导。
当你知道所有的sql都可以影射为逻辑表达式的时候,你就知道如何更好的优化他们了,
也知道这世界上那些是不能写出来的,那些是能写出来并知道如何写的sql,
但即使你精通了在大学中也可能没有什么用武之地,
不过它能够让你的职业生涯中即使对oracle和sql server之类的不熟悉的话也无所畏惧,
这能为做一个设计师打好基础。
没有什么比有一套经得起证明的方法来按步就班的解决巨复杂的问题更爽了。

学点网络工程,彻底的了解计算机之内和计算机之间是怎么样通讯的?
这些通讯模型有什么优缺点,为什么要设计成这样子。
各种协议是什么样子的,施之于其上的操作以及操作前后的状态是什么样子的,
现实中是如何应用的?看看那些优秀的设计是如何在稳定性和性能上做抉择的。
从广义的角度,这也是算法的一种。

当从业后,你为了生活而不得不在各种语言和工具中选择的时候,
记得多看看编译原理,理解语言的结构层面的知识,这将有助于你
用更少的时间来学习各种重复的语言知识,你将会有机会认识什么是状态机,
正则表达式,语法树,图灵机,以及可计算模型,明白数学模型是如何转化到
计算机模型的。

学习一些软件工程的知识,知道这个世界上最复杂的工程活动是如何进行的。
并在实践的过程中,它有助于提高你从不同的层次对软件的认识。

to be continue
[解决办法]
真的回复的好认真,看了一下,也深受启发,谢谢,好好努力!
[解决办法]
最近认识的人怎么都准备考试?
[解决办法]
只要你能自己做个像样的项目 比几张证书值钱多了
[解决办法]
多看,多做,多想
[解决办法]
在大学的时候也自己看thinking in C++
现在回想起来是在浪费时间

觉得当时最有用的是学好了 C/C++ 的语法
thinking in 的很多东西在自己看了很多代码之后
也能悟出来的,没有几十万行代码的积累
看了顾及也没什么感觉

------------------------------------------------
msn: tweeg_nee@hotmail.com
[解决办法]
首先,我也是来自农业系统院校的,这没什么,并不特殊,没必要特殊指明吧^_^

由于我是做这个方面的,所以也只对这方面懂得多些。你要是做游戏(或3D图形)的话,可以去学OpenGL和Direct3D。C++只是语言,能用来做什么,这不是C++能解决的。C++主要在底层领域很有用。但是如果你准备去做Win32的数据管理系统,主要作界面的话,那么,使用MFC现在就不太合适,真的不如C#。

就事论事,如果不是做研究,初级算法太容易,高级算法一般不用自己去想,你们老师的说法没有大错。就拿3D来说,线性代数会把?那就够了,太复杂的,查查资料,什么轮子都自己发明不太好。算法就是这么个东西,之所以不要太关注他,是因为现在的程序开发到大的地步之后,对程序结构的要求会多于对算法的要求。3D的方面来说,很多算法已经很成熟了,短期之内不可能取得太多进步。很多算法是提出来了不能用(硬件限制),而不是没有算法可用。其实我的数据结构课是没有去上的,但是仍然拿分不低。我不觉得上了课,学了习就明白很多事情了。计算机得很多东西都是凭手指说话的,能作出来才算数。数据结构的原理很简单,看了STL的基本都知道怎么回事,关键问题是,在完成具体任务的时候,选择什么结构?如果这个问题不知道,学再多数据结构都没用。这就如同你如果不知道你要作什么,那么到底用什么算法来解决问题,怎么可能知道呢?



所以我认为对算法和数据结构而言,只能叫做先了解,不能叫做学习,学习是在实践之中,不断获得经验,这个才叫学习,如果不知道向哪个方向实践,那学习真就成了到处乱撞了。

个人感觉,LZ应该先看准兴趣,否则作不了多长时间就不行了。有兴趣的东西,才能获得源源不断的动力。然后根据兴趣问一问相关行业从业所需的技能,在大学剩下的时间里,主要向这个技能迈进,同时对其他相关技能都做到了解甚至理解的地步。

比如,3D,那么OpenGL(3D图形)和DirectX(游戏),是必须的技能。如果做得底层一些,那么,内存管理、文件管理、资源管理这些必须都知道吧?操作系统对于一个进程和线程到底做了些什么也应该尽量明白吧?设计模式最好能了解一下,不用懂,知道就可以。上层一些,模型系统(骨骼动画)、场景分割(室内室外)这是必须掌握的。不断做Demo,一个一个Demo出来,就会越来越有信心,越来越有劲头。

而如果做网络,则又有不同了,像什么完成端口、数据库,我不是太懂不再卖弄了。

做项目,不必要找相应的公司进去作,往往你进去都会把你当作小学徒,让你做些旁门左道的东西,根本学不到东西。一般,还不如找个稍稍有那么高的高手,听听他的经验,看看到底需要什么技能,许要做什么东西。
不过,也会有一些小公司有时候会提供相对于在校生比较好的机会,能学到东西,如果有这样的机会,也别犹豫。
就像以后要做网站,总得在学校就有维护甚至制作网站的经验,那么,3D,做一个场景,可以在里面瞎转悠,要求不高把?

最后祝LZ学习进步,天天好心情。
[解决办法]
如果你的C++学得还可以,这时候,你就可以学MFC了,当然,学好C++和MFC也不是一件很容易的事
C++和MFC几乎是编程领域的两座最高峰(至少从学习难度上可以这么说),但是一旦你学会了,那么你编程的 "内功 "就不同一般了,这时候你就不会有任何的迷茫了,此时你再学任何一种语言,任何一种开发环境,那都是一件很容易的事.
过程总是痛苦的,但是一定要坚持!
[解决办法]
希望你更加要注意英语,
做程序员,英语差了很不好混.

有的学校,英语不过4级,连毕业证都不给.
没有大学毕业证,你弄个系统分析员都没用.

而且软考也有10分英语题目.
[解决办法]
是MM吗?
[解决办法]
个人不认为MFC有多好,虽然是有不少很好的设计思想在里面,但不觉得可以称为高峰吧

热点排行