关于大学生计算机专业的前路疑问,该怎么解决
发布时间:2011-06-29 00:41:26 文章来源:www.iduyao.cn 采编人员:星星草
关于大学生计算机专业的前路疑问
我大一的时候,一年的专业相关课程只有一本科普性质的计算机教学,讲解计算机的发展历史,网络的构成等等很浅显的东西。
然后在下学期学的是老谭的C语言,这个应该也算是基础东西吧,最近又重新温习了一遍,感觉都是一些基本的概念解释。
大二的时候学习的是数据结构,老是讲得太快,很多陌生的结构体一带而过,没有给我们详细的介绍每条代码的功能和每个函数的意义,让我很莫名其妙,感觉学的似是而非,自己下课后重新看,还是看不太懂的样子,只能硬背。
觉得很迷茫,大学上了两年,感觉自己在计算机方面并没有什么拿得出手的东西,我当初选专业的时候就知道,计算机的人才太多了,已经超过了市场的需求,我这里指的是一般人才,将来不好就业,可是我还是因为从小的喜爱和理想,坚持选了这门专业,因为我从很少就开始接触计算机,励志要做一名计算机方面的高端人才,可是现实让人很迷茫,两年,就掌握了一个C语言的基本东西,让我编写一些没什么用途的作业题目的程序,我可以很好的完成,可是这些有什么用呢?一切知识的最终目标是产品,而我们的目标是软件,实实在在,可以使用,经得起考验的软件。
说句自嘲的话,我现在连软件编写的步骤都不知道,我都不知道编写软件需要具备什么条件和整个编写的流程,我并不像放弃自己的坚持的东西,我现在唯一苦涩的就是,我想要知道,一个软件,它从编写代码到变成有界面,可以运行的成品,需要哪些过程,至少让我有一个目标,让我能制定计划去学习,前面的路都不知道在哪里,怎么走的下去????
------解决方案--------------------
到大二你会学习像软件工程之类的课程,到时候你就从理论上了解一个软件是怎样产生了。不过最重要的是在课程设计中多锻炼自己,实践才能真正体会到东西。首先c语言和数据结构是很重要的,这两门课程不容得小视。如果认为自己有兴趣把c语言学精的话,可以上网去查一下它的用途,查了你就知道了。
界面只是一个软件的一部分,并不是最重要的,这个你以后会学的。有些软件根本不需要窗口界面,比如说工厂里面的某些工控设备,那些东西上面只有一些物理的按钮和操纵杆。软件最重要在于它的内部逻辑。
你说你不知道前面的路在哪里,这很正常,有时候,你需要边走边看。你不往前走,当然不知道前面是什么了。我大三了 ,也是这样过来的。我的经验是,课程设计要认真做,你甚至可以做一些比较难的项目来挑战一下自己,比如说最近我就在做一个围棋程序。
此外,语言并不是关键,它只是你和机器用来交流的工具。接触多种语言有好处,但必须学精一门语言,这样才能避免在这上面不必要地浪费时间。个人觉得,从技术方面讲,对编程人员来说,数据结构和面向对象思想(除非你只用c来开发)是最重要的,当然,你得有能力用某种语言将他们表达出来,同时,你还需要对计算机硬件、操作系统、网络、数据库方面有一定了解(至于了解程度要看你做什么开发了).
------解决方案--------------------
意见多了,当然听着会乱,但是不看看别人怎么说,听听别人的经历,那你就不知道这条路大概是什么样子。
我说说我的观点。
那些说什么 学 计算机组成原理 计算机概论 还模电 数电 什么的,可以不客气的说这都是废话。
我的观点是,当你学会了基本的C语法以后,你就不要再在“学习教程”这件事情上浪费时间,找一个方向,具体去做。
我个人是从单片机C编程到现在嵌入式C编程,其实还是C编程,但是,接触到的内容会因为不同领域而不同。
我弟弟计算机专业,他的C远在我之上,他搞网络编程,他说的我听不懂。我说的什么串口,网络socket编程,他甚至不知道串口其实是什么。
我的意思是,C语言只是一门语言——虽然是一门极其强大的语言,它能用在什么场合,当你知道了会超出的意外。
C语言绝对跟windows没必然关系。
Linux就是Linus用C语言写出来的(当然还有很多合作者)
C语言在单片机和嵌入式的世界里,是万国通用语言。
很多人跟你说学汇编语言,但其实你到底知不知道什么是汇编语言?
汇编语言其实是一种简化了的机器语言,因为它用助记符代表数字(当然还有别的改进,但对汇编我的认识很肤浅,只到了这个位置)。
但是每一种不同的机器对应的汇编语言,而C语言实现了硬件平台的独立。所以,你只要懂C语言,只要这种机器开发了C编译器,你就可以用非常接近ANSI C的语法对其编程,而无须重新学习一门新的汇编语言。
当你真正进入一个应用领域——我说的是应用领域,而不是哪一种特定的语言和技术。还有那些什么C专家编程,深入了解计算机结构——坦白说,这些书都是好书,而且可能是绝顶的好书,但是,在很多时候,你根本看不懂,你看也没感觉,相信我。
比如说指针和数组,数组相对简单很多,我们初学的时候经常犯这样那样的低级错误,比如 数组越界,比如指针未分配空间就使用,比如指针释放后成了野指针。或者更恐怖的,对指针进行运算,结果把指针指向了一片你压根想不到的地方,造成了一个隐藏的很深的判断失误。
在你学习的时候你写的那些只有一两百行的程序里,你还能很明显的看出这种错误,比如一堆乱码,比如丢了几个数据。
但是,当你真的写到了一些比较复杂一点的程序,你就会在一些非常奇怪诡异的错误的一层有一层,一天又一天地排查时,假如你还比较幸运的最终找到了问题所在,你会非常奇怪,为什么只是 数组越界,为什么只是指针指错了几个字节的位置——
因为,当这种错误出现在栈上的时候,它引发的问题可绝对不只是乱码而已(在内存里,数据就是数据,或者数据就是程序指令)
而你现在,只是个学生,我不知道你到底都写过什么程序,你还没有试过犯什么很要命的错误——你根本就没有足够的心理准备和知识去看那些书。
至于 计算机组成 和 计算机科学概论 这种书,坦白说,我大学时看过一遍,我51学到一定层次以后又看了一遍,也许那一天我还要再看多一遍两遍三遍。
这种东西还是那个道理,你处于一个什么技术水平和已有的技术经验,决定了你能从中看出什么门道。
否则你看了计算机科学概论,也许连 程序到底在什么地方运行都没搞清楚,更不要说让你分清 静态变量 全局变量 和 普通局部变量 的存储位置。
我的建议只有一句话:
作为一个程序员,你要做的就是写代码(当然,雷同的相似的coding一点意义都没有,说写完10000行代码才能算基本熟悉C语言,那可绝对不是 200 * 50 来算的)
------解决方案--------------------
楼主说出了现在大部分计算机专业学生的迷茫啊。下面是我们学校以为老师的建议:
1、高度重视语言的学习
(1)学好C和C++,暂时不要盲目学Java等语言,限制今后的技术道路
C和C++程序贴近机器(大多数操作系统都是基于C的)、高性能,将使你更能深入理解计算机系统和算法,在 技术道路上走得更远
(2)语言的学习不仅仅是语法的学习,最主要的是其背后蕴藏的程序设计思想、软件架构思想的学习要知道这些思想的来龙去脉
(3)到了一定程度后,保持每年都能学种新语言,为什么?(有些思想是某种语言特有的)
2、书籍推荐(假定有基本C基础)
深入理解计算机系统
C学习:
C陷阱与缺陷
C和指针
基本C++学习:
Essential C++
Effective C++
More Effective C++
C++沉思录中面向对象的部分
设计模式精解
深入C++学习:
深度探索C++对象模型
模版学习:
C++ Template:Complete Guide
Modern C++ Design
模版库学习:
C++标准程序库
Effective STL
STL源码剖析
C++学习收工:
Exceptional C++
More Exceptional C++
C算法卷一、卷二
3、语言到了一定程度,可以进行系统的学习
(1)建议首先学习Windows操作系统
Windows比Linux先进(内核结构,线程)
学习windows能尽快熟悉先进的软件架构(各种架构库,天生的消息循环观察者)
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
身为程序员一定要学C吗?还是直接学其他语言就可以了?
本来有javascript基础.
但想学c++或者c#.不知道从何开始.
有一次在某网站看...
-
有用双屏幕开发的吗?
RT,本人新手,昨天公司发了个大屏幕的显示器,本来是笔记本,结果我双屏幕切换时把两个显卡驱动都禁用了,两个显示器...
-
急!Microsoft Visual Studio 2010图标显示问题!
一开始我是把VS的那个无穷大似的图标锁定在任务栏里的,后来解锁了,然后桌面上、开始...
-
AIX下如何得知一个文件是否被进程打开?
问题可以参考
http://topic.csdn.net/u/20110809/23/d4d8db23-07eb-4ac3-b212-c5a010820c...
-
推荐一款2000左右的智能机
RT~
------解决方案--------------------
merry christmas
------解决方案--------------------
小...
-
关于 % 的小问题,求解
有这样一句提示信息:
printf("n请输入一个型如2+3*(4+5)-3^2%4*6/2的表达式n");
但在运行后输出是:
请输入...
-
新手求助
大家好,鄙人刚来,菜鸟一个,想知道如何下载别人上传的资源,为什么没有下载链接,是需要一定的分数才能下载还是怎么回事?希望好...
-
CSDN有搜索自己发言或者某人发言的功能吗
请指教
------解决方案--------------------
没有。。。
------解决方案------------...
-
订到2张回成都的车票, 不容易啊, 散分
12点左右就每5分钟刷一次, 从13号到16号就一直只有无坐...
13:55 刷出3张硬卧, 大喜, 结...
-
计算机专业大四应该学点什么东西呢?
我现在的情况是已经保研,计算机专业专业硕士。现在大四上半学期快结束了,寒假和下学期除了毕业...