基于项目驱动的Linux操作系统教学研究
2011-01-13印玉兰赵艳红戴凤娜
印玉兰,赵艳红,戴凤娜
(1.安徽理工大学理学院 安徽淮南 232001;2.赵艳红 安徽科技学院 理学院,安徽凤阳 233100)
基于项目驱动的Linux操作系统教学研究
印玉兰1,赵艳红2,戴凤娜1
(1.安徽理工大学理学院 安徽淮南 232001;2.赵艳红 安徽科技学院 理学院,安徽凤阳 233100)
针对Linux操作系统教学方法的研究,提出了基于“项目驱动”的教学模式。从项目设置、教学准备、项目实施、成绩评价等方面介绍了项目驱动教学法。基于项目驱动的Linux操作系统教学法能提高学生学习的积极性和兴趣,有助于培养学生独立分析问题、解决问题的能力,培养学生的思考、动手能力和创新能力,教学效果好。
Linux;操作系统;项目驱动
1 引言
Linux以高效性和灵活性著称,它能够在PC计算机上实现全部的Unix特性,具有多任务、多用户的能力。Linux是在GNU公共许可权限下免费获得的,是一个符合POSIX标准的操作系统。Linux操作系统软件包不仅包括完整的Linux操作系统,而且还包括了文本编辑器、高级语言编译器等应用软件。它还包括带有多个窗口管理器的X-Windows图形用户界面,允许我们使用窗口、图标和菜单对系统进行操作。随着开源软件在世界范围内影响力的日益增强,Linux在嵌入式、服务器、桌面、行业定制等领域,已经获得了令人瞩目的成就。[1]
为适应Linux快速发展对技术人才的迫切需求,很多高校开设了Linux相关的课程。但是学生学完之后,能学得多深入,是一个问题。以往的Linux教学方法有多媒体教室讲课、学生上机训练、综合实训,其缺点是学生学完这门课程后,对操作系统的理解、掌握还仅限于用户级的水平,只能将操作系统当作一个资源管理者使用,很难达到程序员级的水平,把操作系统当作是一个与计算机硬件等价的可扩展、可开发的计算平台来使用。如何才能让学生真正学懂、掌握操作系统的体系结构理论,并通过实验教学得以巩固提高,为今后的学习、发展打下坚实的理论基础。针对这个问题,我们对Linux操作系统教学进行了认真的研究,将项目驱动教学法引入教学,将传统的学科体系中的知识内容转化为若干个教学项目,围绕项目组织和开展教学,使学生直接参与项目全过程从而解决问题,取得了较好的效果。[2]
2 项目驱动教学法
项目驱动式教学法是在建构主义学习理论的指导下,师生通过共同实施一个完整的“项目”工作而进行的教学活动。它综合了当前传统探究教学、任务驱动教学和案例教学的特点,旨在把学生的学习训练有效融人工程任务完成的过程中,让学生积极地学习、自主地进行知识的建构,所有教学活动都是围绕真实的项目展开的。
与传统式教学相比,项目驱动式教学有其优越性。[3]
2.1 项目驱动式教学以教学项目为主线来组织教材内容
项目驱动式教学依据教学目标,将教材内容组织成教学项目,每个教学项目会从横向方面拓宽知识面,纵向方面难度依次递进,打破了传统教学以教学单元为顺序的教学模式,能够提高学生的动手能力,及解决问题的能力。
2.2 项目驱动式教学以教师为主导、学生为主体,激发学生学习兴趣
在传统的教学中,以教师讲授为主,学生被动的接受,属于满堂灌的类型。项目驱动式教学中,教师不再主宰整个教学过程,教师的主要任务在于启发、引导学生解决问题,帮助学生完成项目任务。这样的“以教师为主导、学生为主体”的教学模式能够使学生的积极性得到充分的发挥,既提高了学生解决问题的能力,又增强了他们的学习兴趣。
2.3 项目驱动式教学通过项目设计增强学生的团队合作精神
驱动式教学中,每个项目难度上具有递增型,当基本项目完成后,每个项目的最后都会设计一个综合性的问题让学生去解决。根据综合性问题的难度,划分小组,一般三到五人一组,每组选定一名小组长,由组长负责组内的分工合作事宜。让学生在项目的开展过程中,学习如何与团队成员合作,如何面对同其他队的竞争。每组要将问题的解决过程及结果总结成报告。
2.4 项目驱动式教学能通过多元的方式对学生成绩进行评价
传统式教学模式注重理论知识的系统传授,评价方式单一。项目驱动式教学中,课程的教学主要是围绕项目的设计与解决进行的,项目的完成是通过团体合作完成,因此,评价应由平时成绩、课程设计成绩、期末考试成绩等部分组成,成绩评价实现多元化。
3 项目驱动式Linux操作系统教学的过程设计
项目式驱动教学过程的设计要注重以学生学习为主体,以教学项目为中心,提高学生的动手能力,增强学生的学习兴趣,使学生在学习中获得成就感,激发学生不断学习的欲望。
3.1 项目驱动式教学的项目设置
Linux操作系统课程教学采用循序渐进的方法,以项目作为驱动,打破书本上原有知识单元的界限,将各部分知识分解成一个个知识点,为了完成一个项目任务,抽取每个部分的不同知识点加以组合。在项目选取上尽量贴近企业的实际应用需求,针对操作系统的主要部分来设计几个阶段项目,通过亲自实践,使学生深刻理解Linux操作系统的构成及运行。项目设置如下:
项目1:Linux使用基础
项目2:进程管理
项目3:进程间通信
项目4:内存管理
项目5:模块编程
项目6:设备管理
项目7:文件系统
图1 Linux操作系统课程项目关系图Fig.1 Linux operating systems course project diagram
项目之间的关系如上图所示。每个项目可以划分为若干个任务,且具有实践性。将基础知识、命令知识、程序等知识点穿插在各个项目中,让学生在项目训练中理解、掌握和运用这些知识点。项目的设计,横向上应该具有拓展性,使学生能够得到启发;纵向上应该由浅入深,由易到难,引导学生一步一步地学习,充分调动他们的积极性。
3.2 项目驱动式教学的过程设计
根据驱动式教学的思想,Linux驱动式教学过程可以分为三个阶段:教学准备、项目实施、成绩评价。现以“项目2:进程管理”为例说明此教学过程。
3.2.1 教学准备
教学准备是实现任何教学目标的前提和保证,认真钻研教材,深刻领悟课程标准,熟悉教学内容。根据Linux操作系统课程的特点和教学要求,结合学生的具体情况,设计教学目标、进程和过程。首先钻研Linux操作系统教材,编写好项目任务书。由Linux操作系统课程组的教师,根据多年的教学经验及学生实际情况,编写了Linux操作系统项目指导书,让学生学习有材料可依据。其次根据教学内容量、学生的接受能力及学时数,指定教学进度。教学过程,可以根据实际情况适当进行调整。再次根据前面的材料,结合学生的情况和项目的需求设计教学过程。
项目2:进程管理
项目目的:研读Linux与进程相关的源程序,理解源程序的设计思想和编程技巧;加深对进程概念的理解,明确进程和程序的区别;学习和掌握进程控制的基本和常用的系统调用,fork( )、wait( )、sleep( )、exit( )、exec( )。
项目内容:进程是操作系统中最重要的概念,也是学习现代操作系统的关键。通过本次实验,理解进程的实质和进程管理的机制。在Linux系统下实现进程从创建到终止的全过程,从中体会进程的创建、父进程和子进程的关系、进程状态变化。要求父进程创建两个子进程,由子进程各自从控制台接收输入一个字符串,保存在各自的全局字符串变量中,然后正常结束。父进程调用调用waitpid等待子进程结束,并分别显示每个子进程的进程标识号和它所接收的字符串。
学时数:2学时。
3.2.2 项目实施
教师教的过程以“导”为主,注重对学生的引导。项目由教师提出问题,演示设计与制作过程,讲解知识点,教师可以将要完成的项目、设计制作过程和涉及到的知识点,提前布置给学生,让学生课下通过自主学习来完成项目。
项目2:进程管理
教师讲解知识点:
进程的创建:fork()
进程的等待:wait()
进程的执行:exec()
进程的结束:exit()
演示以下实例的设计过程:
(1)调用fork()创建一个子进程,改变在父进程创建子进程之前定义的data的值,观察该变量在子进程和父进程中的值。
(2)父进程创建子进程后等待子进程结束,并显示子进程结束时的信息。
(3)在程序中直接调用execv启动shell命令ps查看系统当前的进程信息。这个程序的执行效果就如同直接键入ps-ar一样。
(4)用两次调用fork的方法,处理父进程等待子进程及子进程称为“ZOMBIE”。
学生学习的过程以“练”为主,提高学生的实践能力。经过老师讲解,示范,学生模仿制作完成项目。[4][5]
项目2:进程管理
学生完成项目:调用fork()创建一个子进程;子进程若能成功调用execv启动shell命令ls-al查看所有目录文件的长格式,则输出目录文件的长格式;否则输出自己的Pid号,最后退出;父进程等待子进程执行完毕后,输出自己的Pid号,然后退出。
在学生完成项目以后,教师还要引导学生对所讨论的结果进行归纳总结,再结合相关的理论进行讲解。在讲解的过程中,应注意建立起新知识与已学的旧知识间的联系,以加深学生对知识的记忆、理解,完成真正意义上的知识结构,并使知识逐渐系统和完整。
3.2.3 成绩评价
成绩评价采用项目答辩的方式进行。每个项目小组的每个成员就其主要负责部分进行演示,讲解;任课老师和其他小组的同学可以随时向当前正在答辩的项目组的任一学生进行提问,最后结合项目的难度和答辩情况给每个项目和学生做出最终的考核成绩。采用这种科学的考核方式对学生进行项目考核和评定,使学生真正能将所学理论知识融入到实践当中并加以运用,提高学生的动手能力,学以致用。
4 结束语
在Linux操作系统教学过程中应用项目驱动式教学法,从课程内容体系结构、教学过程、成绩评价方式等方面进行了探索与实践。表1是采用项目驱动教学法前后,对同等难度的项目,学生成绩的对比:
表1 采用项目驱动教学法前后学生成绩
从表1看出,采用基于项目驱动的教学法,教学效果好。Linux操作系统项目驱动式教学模式,有助于培养学生的独立分析问题、解决问题的能力,培养学生的思考、动手能力和创新能力。在学习过程中,学生能够获得成就感,并更大地激发求知欲望,从而培养出独立探索和开拓进取的自学能力。
[1]863——中国高技术研究发展计划[EB/OL].http://www.863.org.cn.
[2]Linux系列教材编写组.Linux操作系统分析与实践[M].清华大学出版社:2008,11.
[3]郭雪峰.项目驱动式教学的理论与实践[J].和田师范专科学校学报,2010,29(5):59~60.
[4]李建新,唐小燕.项目导向式教学法在“Linux操作系统”教学中的应用[J].科教文汇,2010.
[5]李爱军.“项目驱动”教学法在 C 语言教学中的应用[J].办公自动化杂志,2010,9.
Research on Teaching of Linux Operating System Based on Project Driving
YIN Yu-lan1,ZHAO Yan-hong2,DAI Feng-na1
(1.School of Mathematics and Physics,Anhui University of Science and Technology,Huinan 232001,China;
2.College of Sciences,Anhui Science and Technology University,Fengyang 233100,China)
Aimed at the research on the teaching method of Linux operating system, a teaching mode is proposed based on project driving.A project driving mode is introduced from the aspect of project settings,teaching preparation, project implementation, evaluation of results respectively. Teaching mode of Linux operating system based on project driving has proved effective. It improves students’ learning motivation and arouses their interest.It fosters students’ability to analyze and solve problems independently,to think,to operate and to innovate.
Linux;operating system;project driving
耿继祥)
G712
A
1672-3708(2011)03-0066-05
2011-01-10;
2011-03-17
安徽省高校省级自然科学研究项目(项目号:KJ2010B325)
印玉兰(1973- ),女,江苏泰兴人,讲师,主要研究方向:网格计算、分布式计算等。