从我校软件学院同学学习软件的经历说起吧。刚到大学时,对计算机一点也不了解,大一经常去泡网吧熟悉了一些计算机操作之后,然后上第一节软件科-------C语言。老师只是说C语言很有用,很多底层都是C语言写的,大家也是很努力地学,学习用C语言把一些数学方面的题解出来,还有一些简单函数的使用,当时学习很熟练,自认为是C语言高手。但是有一个疑问迟迟不能得到解答。 大二的时候学习C++也是学习一些语法,函数,类之类的东西,都是简单的操作,然后就是学java了,如此周而复始。语言学的倒是挺多,但是就是很难做出实际的项目来。在这段漫长的时间里,很多人有些迷茫,迷失了方向。到底以后我们是做什么的,学了这么多东西,好像没有实际应用。再重中国大学教育的角度分析一下上面的原因对于上面的原因,我粗虐分析一下。因为中国的教育主张重基层做起。而没有让学生系统的了解一下他们学习的是什么东西。就如武侠练武一样,习武必须先扎马步。不要问为什么,什们时候能成为武林高手啊?答曰:马步还没有扎好,就想这些,先把基本功练好,连2-30年吧。晕。中国的传统教育方式,从基础做起。这点在哲学上是没有错的。但是不是每个人都需要有耐心。而且教育过程中,教育者也不会把以后学些什么,以后实际应用中如何应用这些知识告诉学生,因为他们认为这样会导致学生急功近利。不是软件如此,而且很多其他学院也一样,我们管理学院大一时开很多数学课,我们大家多觉得管理学数学之类的,大家都觉得没用,虽然老师一再强调很有用,但是大家没有这个意识,直到大三,对自己专业有一个系统性的了解时。才知道数学很有用。先做系统了解软件项目,做项目通俗一点就是做我们经常在电脑上用到的软件,或者网站。做这些东西通常不是自己一点一点编写代码。通常你会用到框架。框架你不太明白的话,可以去百度搜索一下。For example,C++做软件时要用到一个叫MFC的框架。里面封装了很多Windows aspi之类的。就不用拿着api参考手册一个个的查了。做php时用很多框架,如zendframework,cakephp,等等。Java有structs,spring等等。但据说,很多公司都有自己的框架,你学的这些框架到以后工作不一定有用。主要是learn to learn。用这些框架你的省了很多功夫,不用编写很多代码就可以做项目。既然这样可以通过从编写代码中解放出来了。你可以把主要的精力集中在数据库建模上(数据库设计,可以用powerdesigner等软件简化工作)。还有系统流程的设计,uml建模。这就涉及软件工程的知识了。(其实有时候只要设计好数据库,还有uml模型,可能完全不编写代码就可以做项目,下载一个代码生成器,生成代码,再稍微改一下就ok了。做项目就是这么简单)power designer 数据库建模rational rose uml建模Business Object 报表unitant 编译工具,用于软件调试VSS(B) 同步,用于多个人开发一个项目,把项目的代码放在vss服务器上,然后团队成员,就可以用IDE(如visual studio 连上服务器编辑代码。当然也可以架设一个ftp把代码放在ftp上实现团队编程)dreamweaver 网页制作mssql 数据库IIS(internet 信息服务器,就是我么通常说的服务器) 服务器 jbuilder(A) 开发工具visual studio 开发工具IDE.netframeworkA) 。net框架动软代码生成器 生成代码codesmisth 生成代码大学生学软件的学习步骤,自下而上地提高上面大体的了解了软件工程开发,我上面说的不太清楚,建议大家多多查资料了解一下。学编程,首先得学语言,可以同时学多门语言。因为语言的语法都是差不多的。计算机语言大概分为类C语言,和类VB语言。像Java,C# ,C++都是类C语言。学这些可以一起学。学完语言后建议大家去学一下数据库。因为数据库的操作都差不多,所以学好一个数据库其他的也会了。建议大家学mysql。主要的是要学会操作数据库的sql语言。学完数据库后配合所学的语言,编写一些小系统。找几本书,比如学java的,找本java数据库系统开发,学php的,就找php数据开发。然后做一小型的系统,比如选课系统,博客之类什么的,主要把侧重点放在数据库设计上。学完之后就学习我们说的框架了,但是在学习框架之前要先去了解一下设计模式比如比较流行的(MVC),( C#的三层架构)(工厂模式)更多模式请百度一下。如果你不了解设计模式的话你会对框架很困惑,因为他的编程方法跟我们以前学的顺序的编程模式不同。框架一般都有一定编程模式。当你对框架学习到一定程度的时候,学习一下软件工程方面的知识,这些知识比学语言简单,但是很实用,比如UML建模了。 到这里你已经可以做大软件和大网站了。可以尝试去做一个项目,或组织团队做项目。做项目过程中多去学一些辅助软件这样对项目的效率会有很大提高的。
温馨提示:内容为网友见解,仅供参考