二.国外著名高校软件人才培养比较
高校作为高层次软件人才培养的场所,主要为信息产业提供处于金字塔顶端的高级人才。各国高校在计算机软件人才的培养计划,课程设置,课程管理,实验教学,实验室管理等方面都有着一些值得我们学习的好的做法。下面将应用比较方法对国外几所名校(剑桥大学、曼彻斯特大学、斯坦福大学、墨尔本大学、亚伯塔大学)与目前国内的高校计算机软件人才培养的情况进行对比介绍。
A、计算机基础教学特点
国外高校的计算机基础教学,虽然没有像国内高校那样区分计算机专业和非计算机专业,但也是把计算机课程分为两类:一类主要针对计算机专业的学生开设,这些课程(尤其是一些通用性、应用性较强的课程)也可由其他系的学生自由选择;另一类课程侧重为全校学生开设,其内容兼顾了非计算机专业的特点和各系的一般需求,类似于我们的非计算机专业基础课程。
在工科非计算机专业本科教学中,设置的计算机课程既有一般性的介绍,也有与该专业紧密结合的内容,如加拿大的部分大学,开设的课程有:数字计算机组成、计算机结构、微处理器系统、数据传输及计算机网络、对象分析、设计与编程、计算机辅助设计与制造等。少数文科专业要求学生选修一些计算机应用类课程,其中包括程序设计语言等。有些学校的工程专业学生被要求直接选修计算机专业的相关计算机课程。在公共入门课、软件类基础课、硬件类基础课、个性化教学等方面都有一些值得借鉴的特点。
1.宽口径的入门基础课
在计算机入门基础教学中,我们的主要内容是以技能性操作训练为主,辅助其他一些基础知识的介绍,但国外更多的是介绍计算机导论,内容牵涉到目前计算机组成的基本知识和基本特征、计算机技术发展等方面的基础内容,同时还引入讨论课程的教学形式,国外的这种课程模式对激发学生的求知欲有很大的帮助。在入门课程中,国外会介绍很多计算机的核心基础知识,不仅从正面介绍计算机基本知识,也从反面介绍计算机的局限性和教训,并提出学习计算机需要思考的问题。
国外的计算机公共基础课程,以启迪思维为主,内容涵盖面较广,在入门阶段,就把计算机最基本的概念以导论的形式介绍给学生。他们还开设了一系列新生研讨课,如TheComingRevolutioninComputerArchitecture,通过此课程介绍典型的计算机体系结构、技术发展以及局限性,探讨未来的计算机一些可供选择的组织结构及程序系统;ComputerandInformationSecurity课程,主要围绕计算机安全介绍黑客入侵、计算机系统常见漏洞、防范攻击的技术措施、密码技术、与计算机安全有关的法律问题等;GreatIdeasinComputerScience课程,主要介绍计算机发展史上的重要突破,考查计算机理论与实践的相互影响,涉及的问题有计算能力的局限性、算法效率、密码技术、语言翻译、人工智能、计算机网络等;此外还有TheDownsideofComputerSystem,该课程主要介绍计算机系统如何失效,计算机系统崩溃对社会造成的影响,并介绍了一些计算机崩溃导致灾难的实例、讨论计算机安全、容差结构等专题(相关信息详见,引导学生从正反两个方面去认识计算机,拓宽学生的视野和思路。这些课程的目的是在人才培养过程中拓宽基础知识面。
国内的计算机基础教学研究和课程改革,在拓宽知识面方面也做了很多工作,但目前的计算机入门课,在计算机环境教学中,更多地局限于以Windows为代表的微机环境,国内应加强对大型机、服务器的环境介绍。例如,有必要增加Unix或Linux的教学内容。我们体会到,在过去的计算机入门基础教学中,学生以技能训练为主,这体现了中国的国情,对计算机基础应用的普及起到了不可磨灭的作用,但随着社会的发展和计算机应用的更全面的普及,以及教育部对中小学计算机信息技术课程要求的出台,从培养人才的角度出发,应该把技能训练放到课外,把大学入门课真正建设成为一门基础宽广的计算机入门导论课,为后续课程的学习打下良好的基础。
2.突出程序设计能力培养的软件应用类课程
软件应用类课程包括程序设计技术与应用类课程和信息技术与应用类课程。
对程序设计与应用类课程,国外主要开设了计算机程序设计技术,以算法驱动、案例驱动来介绍程序设计技术,教学语言主要是C/C#、Java等;在网络编程方面,主要介绍JavaScript、HTML、CSS、XML等。从培养学生的能力出发,在课程的组织中,国外对学生进行分组并完成一个Project,这一点与我们很相似,我们的计算机程序设计课程,每学期学生要完成两个较大的综合性编程练习,以培养学生的综合应用开发能力。
信息技术与应用类课程主要开设数据库理论与应用,比如墨尔本大学,对高年级学生着重介绍数据库原理与分析、数据挖掘技术与算法等,对低年级学生主要介绍数据库的基本应用和信息技术的应用,包括Internet发布技术、数据访问与安全技术等。
国外大学在应用软件类课程的教学中,很重视通过项目训练培养学生的程序分析、设计和开发能力,几乎所有软件类课程,都有完成项目训练的要求,而且,对项目训练环节的辅导工作也很重视,通常对学生进行分组,每一个小组都有指定的TA(TeachingAssistant,教学助手)来辅导。在墨尔本大学,一个TA负责由5~6个学生组成的小组,完成相关的Project,每周定时讨论答疑,在这种Project讨论中,强调的不是一个人说,其他人听,而是注重集体讨论,相互引导,讲究讨论过程,通过积极思考得出结论。
项目训练体现了对程序设计能力、开发能力和应用能力的培养,在此方面,我们在课程改革中也进行了尝试,应该说,在培养能力的出发点上,大家是一致的。
文章来源于领测软件测试网 https://www.ltesting.net/










