黄达峰 李 洛 汤 庸 罗文村
1引言
以Linux为代表的开放源代码软件技术,是近几年发展起来的一种新的软件发展方向,而大力推动Linux技术是我国自主软件产业发展的良好机遇,所以现在从政府到科技界乃至企业界都很重视而且也很有热情来做这件事。必须意识到,摆在我们面前最大的阻碍就是现时人们已经有了一个技术(微软)。所以,也必须充分意识到在高等院校中普及对Linux的教学,其对于推进我国Linux技术的重要作用。
高等院校必须高度重视、合理配备教学资源、科学制订教学计划,方能担当起培养Linux技术应用和推广专业人才的大任。
2Linux技术特征
Linux不仅仅是一个操作系统,与Windows相比,它是一个不断成长,不断发展的国际化软件项目,它从来没有像Windows那样有阶段性的定型。学习、使用Linux,可能意味需要不停地查资料、不断遇到问题、甚至亲自解决系统本身的问题。对于Windows来说,用户只是使用者;而对于Linux,每个用户不仅是使用者,还是测试员、创作者、教师兼学员。
Linux使用者必须习惯在搜索引擎上搜索资料、细心组织这些资料(鉴别、筛选和重组),亲自动手建立起某些软件的运行环境。从小小的MP3播放器的运行,到庞大的并行数据库的建立,几乎没有什么问题有适合实际的现成答案,然而,这恰恰能够锻炼学生自主学习、积极探索、灵活创造的信息素养整体水平。
Linux操作系统可以在Internet上免费下载,并且它往往自带了Office套件、优秀的浏览器以及网页编辑器、图形编辑工具、各种程序设计工具、HTTP和FTP服务器、建立在内核、基于包过滤、应用代理技术上的三层防火墙以及从小型到大型的数据库等。甚至在网上,你能找到数十万个不花钱或花很少钱就能获得的应用软件。
Linux系统几乎不会死机、极少被病毒所感染、系统不会轻易被调皮的学生破坏。对于电脑机房管理员来说,使用Linux系统将大大降低工作量,由于Linux系统具有严格的用户管理机制,无论是用户自己安装软件、更改程序运行界面等操作,管理员只须运行几句命令便可使系统完全恢复原状。
3 根据专业属性,划分推进战场
我们这里仅从高校的专业属性角度来考虑Linux技术推进的问题,因为从学科角度的道理亦然。专业应该按软件技术专业、其他IT类专业、非计算机类工科专业、文科专业等四类来看问题。
形象一些来考虑,软件技术专业是高校Linux技术推进的主力军,因为其将为大小企业输送研发力量;其他IT类专业是协同作战的友军;非计算机类工科专业、文科专业是将来Linux平台推广应用的广大群众基础(用户),都非常重要。但是根据其不同的专业特点、学习目标,必须在课程安排上加以区别。
3.1软件技术专业
软件专业的课程安排,应该将Linux当作一个课程体系来进行教学设计,其开课目标应该指向至少一次集中实训。其课程计划可以从以下两个层面考虑:
一是在现有软件专业中,加重Linux技术课程的分量。例如,对于软件专业的Linux课程的设置,要考虑加大软件开发设计方面的内容及相应的课时,具体可以考虑包括如下课程内容:
(1)Linux基础;
(2)Linux可视化程序设计;
(3)Linux平台数据库应用(MySQL、PostgreSQL、Oracle等);
(4)Linux网络应用设计(PHP脚本、Socket网络编程等);
(5)Linux系统结构及其API的使用。
二是根据企业调查的指引,单设Linux技术专业方向,即除上述内容外,还应该将重点放在Linux下的一到二门程序设计课程上,使学生真正能够掌握在Linux环境中的编程技能,适应企业需求。对于这类专列课程学习Linux技术的软件技术专业(方向),还应该考虑:
(1)课程计划和课程路线。即应该开设哪些课程,课程之间如何衔接等等。
(2)是作为与Windows课程系列的并列课程开设,还是专列一个专业方向等等。
(3)教学方法、教学模式、教材开发、师资培训、认证证书等等。
3.2 对于其他IT类专业
其他IT类专业应该逐步地,有侧重地加重其Linux相关课程分量,首先至少将Linux作为其主干课程中的一门,其最小课程集合应该包括以下三个方面的主要内容:Linux应用基础(命令行界面)、Linux网络管理、Linux下的可视化程序设计。
例如计算机应用与维护、计算机网络以及信息管理等,应该将开设课程的重点放在会安装、配置和使用Linux操作系统;熟悉这个操作系统的全部常用命令;掌握在Linux操作系统环境下的编程方法。
3.3 一般性工科专业、文科专业
对于跨度颇大的一般性工科专业和文科专业,最低限度应该将Linux图形界面应用作为一章放进目前开设的“计算机应用基础”等类似通识课程,令学生既掌握现行微软平台的办公软件应用,又了解Linux平台以及其上的应用软件。而对于电子、通信等非常接近IT类的专业,则至少要将其作为一门技术基础课程开设。
大多数专业,例如对于化工、管理等专业(方向),主要应该从应用的角度开设课程,着重于以Linux操作系统使用和办公软件套件的使用技能训练,即在现行的计算机应用基础课程中,变目前片面强调Windows以及相关套件的应用,为增加Linux应用基础以及应用技能;而对于通信和应用电子专业,则应该额外开设Linux下的可视化程序设计课程。
4 根据企业需要,强调Linux教学目标的技能特征
在为本科高校学生开设这类课程时,应该视不同的学科专业,或灌输其原理,引导研究和开发,或教授其应用和功能。为高职高专学生开设这类课程时,应该重视开展综合项目训练,使Linux教学丰富而真实。Linux是一门实践性很强的课程,实践是学好这门课程的主要途径。了解到学生往往喜欢直观、形象、自己动手立刻能看到结果的教学方法,应该把实验项目带入到Linux的教学试验中,尽量安排在机房上课,每个项目内容都注意理论与实用的结合,并且项目内容往往是从理论课教学中精心安排提出来的。例如把某些实际系统项目按功能模块分为多个子项目,如办公系统、管理系统、安全认证等。教学过程中通过理论教学与实验交叉进行,上实训课的时候还可以在学生普遍能够完成一般项目的基础上,安排较难、较深和实际应用更密切的项目题目,并给出每个项目的难度系数,利用学生的好胜心理,提高他们的学习欲望。亦可拓展视野,促进学生能力。
5结束语
既然我们认同大力推动Linux技术是我国自主软件产业发展的良好机遇这个道理,既然我们对于这样一门技术推进(而不仅限于推广),需要从培养研发人才、应用人才甚至用户群做起,我们实际就认同了从学校来推动这件事的必然性和合理性。剩下的就是该如何来操作了。本文主要讨论如何在高校目前业已比较成型的课程体系下面,加入或导入Linux技术的内容,使高校的学生在离开高校毕业时,带着一种认识,或一门技术,或一种使命,投入到与我国之命脉相关高度的开源技术大军中去。
致谢在此,笔者向对本文的工作给予支持和建议的企业和院校,尤其是广东省软件行业协会黄跃珍秘书长、熊瑞萍副秘书长为此文提供的支持和帮助表示感谢。