我今年10月13日参见了计算机水平考试的高级程序员级别考试﹐当时报考的目的是想通过资格考试,获得工程师职称,就不用准备大量材料去参见评审了,并且又通过准备考试学到了些知识。我本来不是计算机专业毕业的的,是学工业自动化的,但现在在计算机行业工作,以前在学校时过了计算机2级(FOXBASE),在学校里学过《微机原理》、foxpro,自学过PB、HTML,今年5月份通过了CCNA640-607,在准备本次考试之前没有学过C、CASL和软件工程等。
今年的软件水平考试的我考得并不理想,但也有可能过,自己估计上午考得稍微好一点,应该没问题,下午考试成绩在40-50之间,第四题CASL全对了,第五题C因为没有时间了,简单看了看就填上答案了,出来后仔细想了一想,全错了。
本次将准备学习和考试过程中的一些经验教训简单地总结了一下﹐以备自己明年参加考试或者其他网友参考,不对的地方希望指正。明年我一定还会参见软件考试的,如果今年高程过了,我明年就考网络设计师或系统分析员,因为相对CCNP、ORACLE等认证,软件考试便宜多了。我的想法是证书越多越好,知识面越宽越好。
一、 学习准备时间
我是8月份开始准备考试的,利用前两个月(8月初-9月20日)学习C语言、CASL和数据结构,9月20日-30日学习程序流程图、数据流图等准备下午前几道题,10月1日-7日看高程的教程(清华大学出版社)准备上午题,10月7日-12日复习准备考试。
因为我已经工作了,只能在晚上和周末学习,加起来用的时间也不多,只是在国庆节放假期间到自己家附近的一所大学中整整奋斗了7天。
现在来看我用的时间确实是少了,但学习的顺序是正确的。建议其他网友用3-4个月左右的时间准备高程的考试,具体是学习C语言1个月、数据结构3周、CASL汇编3周、程序设计(流程图)3周、基础知识3-4周、复习2周。
具体的学习重点和方法请看下面。
二、 上午考试准备
从2002年的考试题来看,上午的试题向增加广度及注重能力方向发展,数据结构算法分析和软件质量、软件项目管理、面向对象方法等方面的试题的比重增加了,计算机硬件基础知识的比重减小了(以前是教程上100页的内容有20分)。
上午题难就难在没有重点上,随便教程上的一段内容就可能是一道题,在准备考试时一定要把教程详细的看一遍,但是也并不是简单的“随便”,一般情况下去年考的内容今年就不能考了,可不做重点学习(我没有说不学了,即使考了,因为我们已经做过该类型的题,拿分也容易),在看教程时要想一想这段内容能出什麽题目,并记录在笔记上,待复习时用。 还有一个重点就是我今年忽略的软考办发布的“软件考试备考参考”和练习题,参考中可能透漏一些考试范围,比如今年的,基本上是一句话一道题:高级程序员级上下午各2个半小时。上午试卷有75空选择题,内容包括:数据结构(如树的定义、存储和操作,常用的排序算法等),程序语言及编译知识(如
有限自动机与正规式等),操作系统理论知识(如进程、资源管理方法等),软件工程基础知识(含开发方法,概要设计,详细设计,软件测试,软件能力成熟度模型CMM等),数据库基础知识(包括关系代数表达式和SQL的使用),多媒体基础知识,网络基础知识,面向对象开发方法,信息安全,计算机体系结构,存储器系统,计算机专业英语(注重阅读理解资料)
1﹑程序语言处理(文法和编译)﹕这是个难点,不好理解﹐只能“照葫芦画瓢”做一些类型题(比如求句柄、比较最优算符、求推导或归约树、NFA-DFA的转换等)。
2﹑软件工程﹕向目前软件发展趋势一样,注重软件质量和软件项目的管理,这块的考试内容可能超出教程,要看一些其他的资料。
3﹑数据结构和算法﹕数据结构和算法是程序的基础,也是考试的重点,应重点学习,因教程中这方面的内容很少,要看其他资料(比如大学的数据结构教程),很要重点学习理解算法及时间复杂度等﹐今年几个算法的题我都是猜的。对一些常用的算法(如递归、二分查找、快速排序等)一定要深入理解,并且能自己编制出利用该算法的程序,在编程、调试、完善程序时加强理解。
4﹑计算机英语﹕英语主要看基础,没有什麽好的建议,平时多看一些计算机英文资料。
5、计算机硬件知识:内容不多但占的分数不少,重要的是详细理解教程上的每段内容,通过重点学习,尽量使在这块内容丢分最少。
6、多媒体和网络知识:经常考一些教程外的内容,但都是常见的,除学习教程中的内容外还需扩大知识面,平时多积累。我今年没有学习教程中这方面的内容,靠的是平时的积累。 7、数据库和操作系统:分数比较少,内容比较难理解,总结一下各部分的知识点和考点,重点学习。
三、 下午考试准备
1﹑CASL汇编﹕是下午题的重点,因为这道题得满分相对其他题容易,一般这道题能得满分,就通过考试了。在准备学习时一定要熟练掌握,在平时能会做的题在考试中不一定完全答对。注意掌握常用的算法(如ASCII码字符转换、移位、双层循环等),还要注意不要用错指定(如LEA/LD,JMI/JNZ,SSL/SLA等)。
2﹑C/C++:主要是熟练,熟能生巧。另外,重点掌握常用算法的C/C++程序。
3、程序设计题:该部分题我看主要考智力,没什麽知识点。主要掌握一下各种流程图,会完善和改错。
四、 考前复习
在考前的2周内要把所有内容全部复习一遍,在做往届试题和练习题时要注意“做题的质量”,在每做一道题后一定要仔细分析,要问一下自己“得到了什麽”。
还有在考试前多上网查一些资料和“小道消息”等信息,不要“闷头学习”。
五、 考试经验
考试时一定要思路清晰、细心,个别问题在答题时要想一想出题者的意图。上午题的答题时间比较充裕﹐下午的时间又可能不够用,要特别注意时间时间的安排,一般情况下是前3道题用65分钟左右,不能超过80分钟,CASL用30-40分钟,C/C++用30-40分钟,15分钟写答案,10-30分钟检查,可能因为某个题不熟或不会时间会长一些,这样只能牺牲检查的时间了。
我今年就是CASL刚开始看错题了,以为还有10以上的数需转换,这道题花费了我50分钟,最后来不及做C语言的的题卷了,心慌意乱的草草的填了几个空,都错了。
我的经验是做题时一定要镇定,不能心慌,如慌了就完了。你要相信经过仔细考虑一定能做出正确的答案的,一个角度考虑不出结果,换一个角度考虑。
在答C/C++语言或CASL题时,一定进行验证(边值分析法进行测试)。 以上,是本人的一点经验,希望共分享,共同提高!