前言:中文期刊网精心挑选了计算机编程初级教学范文供你参考和学习,希望我们的参考范文能激发你的文章创作灵感,欢迎阅读。
计算机编程初级教学范文1
前言
相关研究表明,近十年中选择计算机专业课程学生的数目一直持续下降,同时社会对合格程序员的需求却不断增加,造成具有良好编程素质专业人才短缺的局面。其中一个客观原因是由于本科计算机专业学生的编程学习效果不佳,导致学生对编程开发的态度消极。因此,研究计算机编程学习效果的影响因素是计算机科学教育的一个重要问题,直接影响到计算机专业的教学。
1. 研究对象和方法
研究目的:探索大学生态度和性别与计算机编程学习成绩之间的关系。
研究对象:长沙学院179名(85名女性,94名男性)学习计算机编程C语言的在校大学本科计算机专业学生。
研究方法:李克特量表是目前调查研究中使用最广泛的量表,可直接反映出被调查者的认同程度。本次共设计与计算机编程学习相关的47个选项构建李克特量表,每个项目可选择:“非常同意”“同意”“既不同意也不反对”“不同意”和“非常不同意”。为量化测量值对答卷重新编码为1到5的数值,这样高分反映积极态度,反之亦然。
研究者:由长沙学院计算机科学与技术系两位教授设计问题选项,11名学生(4名女性,5名男性)监督完成答卷以确保被调查者了解每一个项目的预期含义。
2. 计算机编程学习效果的影响因素分析
根据Erodogan和Kabaca的研究,计算机专业大学生作为一个基于认知,情感和行为的信息受众集体其个人信心(态度)对学习效果有着明显影响。计算机专业的学生一般在本科学习的第三学期进行计算机编程的入门学习。
3. 调查结果
在对编程态度和性别之间的相关性研究中,学生性别对编程态度的影响经计算平均得分为3.59(Xmin=1.66, Xmax=4.94, б=0.645)。可知学生对待编程的态度普遍比较消极,同时男性对编程态度的积极性明显高于女性,如表1所示:
从表2可知,四个分量表中除对编程学习成功的态度没有显著差异以外,在其他的三个分量表中男生表现出更积极的态度。
编程的态度和编程的成就之间关联度是一个关键问题。为研究这个问题,特别做了编程效果与平均PAS(皮尔森)值相关性分析,结果如表3所示:
从表3可知,学生编程的态度与他们学习编程入门的课程之间有明显的相关性。其中相关性最高的是对学习编程会带来成功的信心。另一方面,对成功的态度与学习计算机编程并没有特别的关联,这其中相关性最低的就是对编程有用性的感知与在编程方面获得的成就之间的关系。因此16.7%的学生对编程态度的变化归咎于他们的信心、动机和对计算机程序设计有用性的感知。
4. 调查结果分析
综上所述,在计算机编程教学中学习态度和学习效果呈正相关关系,同时女性在计算机编程中参与程度较低,这与一般情况下女性在计算机专业的入学率非常低而且女性较男性对电脑负面态度更多是一致的。
关于学习态度的研究一直是教育学研究的重要问题之一,学生的主体态度是决定教学方法和教学材料设计时要考虑的一个重要因素。本研究中调查的47个项目有35项涉及编程态度,以反映学生对计算机编程的感受和看法。调查结果表明,学生的平均态度得分与编程入门课程及格之间显性相关(r= 0.443,P
5. 结论
本次研究结果有一定的局限性,主要体现在调查科目与测试样本相对较小,相关研究可参考科斯特洛和奥斯本对因素分析的相关文章。另一个局限性是被调查者可能受到不同班级与授课老师的影响。这些问题均应被包括在进一步的研究中。
计算机编程初级教学范文2
关键词:职业技能;计算机专业;独立学院
中图分类号:G642 文献标识码:A
1引言
独立学院以市场为导向,注重发挥高校学科专业优势,结合区域和地方的社会、经济、文化需要,培养应用型、复合型人才为主要任务。独立学院培养的毕业生在就业时必然面对高职高专学校和IT职业培养机构培养的技能型人才和研究教学型的二本高校培养的应用型人才的竞争。国内几乎所有高校都开设了计算机专业,但是由于高校计算机专业人才培养与社会需求脱节,每年都有部分计算机专业毕业生难以找到合适的工作。因此,如果独立学院的计算机专业毕业生期望找到满意的工作,除了掌握必备的专业理论知识、具备良好的学习、实践和创新等能力外,还必须熟练掌握一种专业职业技能。
职业技能即掌握和运用专门技术从事职业活动的能力,包括智力技能和操作技能。智力技能以抽象思维为主要特征,借助大脑的内部语言,以缩减的方式对事物的映像进行加工改造而形成的。操作技能由一系列外部动作构成,经过反复训练获得的能够完成一定任务的动作系统。职业技能按其熟练程度可分为初级技能和技巧性技能。在具备初级技能后,如果继续系统地反复练习,动作就会趋于自动化,进化至技巧性技能阶段。操作技能是专业技术能力的有机组成部分,也是形成综合能力的基础。职业技能以一定的专业知识为基础,在反复实践的过程中形成并不断。在职业技能的形成与强化过程中,智力技能和操作技能不能够被割裂开,它们相互作用、相互影响并相互促进。
计算机技术与软件专业技术资格(水平)考试可以检验应试者是否具备从事相应专业岗位的水平与能力。它既是职业资格考试,又是专业技术资格考试,分设计算机软件、计算机网络、计算机应用技术、信息系统和信息服务等五个类别,每个类别又分为高中低三个级别。通过某个类别的某个级别考试作为判断应试者是否具备某种职业技能的依据。
计算机人员在从事专业活动中不可避免地要从事规模大小不等的软件系统分析、设计、实现或者部署等工作。因此,计算机软件职业技能是其它计算机职业技能的基础。因此,独立学院必须重视培养学生的计算机软件职业技能。
2计算机软件职业技能培养目标
计算机软件职业技能包括软件需要分析、软件设计、编程、质量保证和部署等技能与能力。计算机软件职业技能分为初级、中级和高级三个循序渐进的层次。初级阶段侧重培养学生对于小规模问题的分析、设计、实现与测试技能;中级阶段培养学生对于中等规模问题的分析、设计、实现、测试、部署与初步项目管理的基本综合职业技能;高级阶段则指学生毕业后经过长期的职业活动,形成的全面、系统的职业技能。
除了具有良好的职业道德外,软件开发人员的职业技能表现为下述基本素质和技能:
(1) 与开发员、客户或者管理者谈判与沟通的能力;
(2) 与开发小组其他成员或管理者协同工作的团队合作能力;
(3) 分析和解决相关问题的能力;
(4) 掌握软件开发技术方法,具备适应发展的能力。
由于高职高专院校和IT职业培训机构受其计算机专业学制和学生知识基础等约束,其主要目标是在限定的时间内,培养学生的初级技能,毕业生经过较短时间的培训,能够胜任程序员的工作。对于少数非常优秀学生则可进一步培养他们的中级职业技能。
独立学院计算机专业学生的职业技能培养定位是至少具备初级软件职业技能,除能够胜任程序员的工作外,还应该侧重培养学生具备软件技术职业发展的必备素质,在具备几年的软件职业从业经验或者经历几个大型项目后,能够胜任软件技术骨干或者管理岗位。
高级职业技能则需个体在具备中级技能的基础上,经过漫长的职业生涯的锤炼逐渐形成。这是重点本科学校的计算机学院或者研究生教育的目标。
3初级与中级软件职业技能培养
3.1初级软件职业技能培养
计算机软件的初级职业技能是从事计算机工作的专业人员所必需具备基本技能。初级技能培养的主要手段是以课程学习的课程实验、设计等专业实践为主,从专业实践中掌握技能。因此,在专业课程理论教学过程中,为了培养技能培养,必须注重课程实验、课程设计等环节。侧重训练学生编程能力的课程:C/C++程序设计、Java程序设计和数据结构课程;侧重训练学生分析与设计能力的课程:软件工程导论、高级软件工程、数据库原理和编译原理。侧重网络编程能力培养的课程有:计算机网络和网络应用程序设计等。
3.2中级软件职业技能培养
中级软件职业技能的培养在初级职业技能的基础上,通过以团队为单位,一个以上规模适度的软件系统的研发,着重培养专业综合实践能力。主要环节有:生产实习和毕业设计。生产实习环节的教学目标是期望通过实习、联合工作或者兼职工作的方式得到工程实践的机会,有效地提高工程实践能力与技能。但是,当难以提供工程实践机会时,则必须在实习基地等仿真环境模拟工程实践。一个有效的方法是开设专业综合实践课程,学生通过综合应用所学的专业知识解决问题或者完成一个项目,以达到提高综合实践能力的职业技能的目标。
本科毕业设计是学生在专业老师的指导下完成设计或论文。合格的毕业设计既是学生毕业及学位资格认证的重要依据,也能够有效培养学生综合运用所学专业知识分析和解决实际问题的能力,帮助学生由学习阶段平稳过渡到工作阶段。
此外,与职业技能密切相关的团队协作、谈判与沟通、良好的适应发展等能力,也是职业技能培养中不可忽视的。
4主要措施
在培养学生的计算机专业职业技能时,需要从如下几个方面着手。
4.1构建“与时俱进”的人才培养方案
在四年的培养期限内,前三年完成通识课程、学科基础与专业核心课程、选修课程的学习。第四学年侧重于学生的综合实践,上学期完成专业综合课程实践,下学期进行毕业设计。设置计算机软件、计算机网络、计算机应用技术、信息系统管理和信息服务五个方向的专业综合课程实践。专业综合课程实践训练是理论与实践相结合的重要环节。学生根据自己的兴趣选择并完成一个实训项目。实训过程由从业经验丰富的教师或企业资深技术骨干负责指导。
构建理论基础知识教学、工程实践能力培养与创新能力培养三并重的教学体系是创新应用型人才培养的基础。围绕应用型本科创新人才培养目标, 确立以基本素质培养为基础;以实践能力培养为中心;以创新能力培养、形成一种职业技能为目标;确保专业知识、实践能力、综合素质协调发展。
整个课程体系包括通识课程、学科基础与专业核心课程、选修课程三类模块和工程实践环节。专业课程教学侧重于让学生掌握知识,课程实践与课程设计侧重于让学生形成初级技能,生产实习和毕业设计则侧重于让学生形成技巧技能。
学院不断根据软件企业和相关用人单位对计算机专业人才的要求和需求,及时修订人才培养方案。目前的培养方案的总学时为2320学时,相比前一方案减少144学时。在这144学时里,学生根据自己的专业兴趣,参加专业老师指导的兴趣小组,或者参与专业老师的科研课题的研究或者实验。
4.2探索“案例驱动专业课程教学”的模式
职业技能的培养必须坚持以实践为基础,狠抓实践教学环节,不断革新教学,教学应该融入与实践相关的真实内容,探索“教、学、练”三方面并重的教学方法。例如采用案例学习,将真实项目作为学习案例;并选择工业界典型项目,学生通过完成这类项目尝试不同角色;通过学生自我管理项目进程,并解决所面临的问题。
4.3开展“以学生为中心”的实验与毕业设计教学
课程实验不仅帮助学生理解与掌握专业课程的理论知识,还有助于提高学生的实践能力。“3+1”模式要求对每门专业课,课堂教学和实践教学(包括课程实验和课程设计)的学时数之比达到1∶1。要求每门专业课程实验教学必须指定实验指导教材,每次实验必须完成具体的任务。此外,授课教师必须参与指导其所任教课程的学生实验,了解学生对于理论的掌握情况和在实践中存在的缺陷,并改进教学。建设合理的实验室或者实习基地的软硬件,学生在实践中使的工具必须是最新的,以便学生就业时能够将新技术和工具带进工作单位,由此可实现一种技术转变。
毕业设计的课题有工程设计、硬件设计、软件设计和计算机理论等四种类型。结合独立学院人才培养目标以及学生现状,应该注重加大工程设计和软件设计类的课题比例。软件设计类课题的教学应贯彻“以学生为中心、老师指导为辅导”的原则,学生选择指导老师和确定课题时应有足够的自由,课题由老师和学生双方协商确定。学生在分析、设计、开发、调试和部署等方面应该表现出主动性,应该由学生提出方案,和指导老师协商确定。
4.4建设“双师型”教学团队
积极引进具有多年行业经验的技术骨干和资深管理人员,建设有助于培养学生的软件职业技能的“双师型”教学团队,定期邀请软件专家来学院讲学讲座或者专业教师深入IT企业,帮助学生了解软件研发职业生涯的现状与特点。
4.5融“专业兴趣”于校园文化建设
校园文化是直接影响大学生成长的环境因素,良好的校园环境有助于学生健康成长。积极开展第二课堂活动,有助于培养和提高学生的实践能力和职业技能。如利用课余时间举办专业讲座和专题报告、演讲和辩论比赛、专业职业技能竞赛、课外科技活动和参加社会实践等。结合指导老师的科学研究方向,建立兴趣小组,拓宽学生的知识面。成立嵌入式软件调试、软件测试和Oracle数据库兴趣小组,每个兴趣小组均有指定的专业实验室,配备两名以上专业指导教师,围绕专业教师的研究兴趣开展创新型学习。
例如:笔者主持软件设计与测试兴趣小组,将“基于代数规约的Web服务测试技术研究”课题分解成六子课题,每个子课题由一个学生负责,师生定期讨论与报告,还通过面对面交流、电话联系、QQ和电子邮件等方式指导学生,回答学生的疑难问题等。小组各成员也都能自觉地在老师的建议下多种途径地查找资料,相互讨论,寻求解决方案。
此外,积极组织学生参加各种程序设计大赛,通过竞赛学生加强与其它本科院校的计算机专业学生的交流。如组织一个学生团队报名参加首届“中科杯”全国软件设计大赛,该团队由两名2006级和一名2007级计算机专业学生组成,教师从选题、分析、设计、实现与拟定文档资料方面提供帮助和给予指导。
4.6加强“以人为本”的学校管理
学校管理在大学生的实践和创新等能力以及职业技能培养中起着举足轻重的作用。确立“以人为本、全面发展、自律与他律相统一、管理与教育相结合、分类管理和综合管理等原则”。尽快改善学生自由发展空间狭小、考试模式单一、评价标准单一等缺陷。鼓励教师在教学目标、教学计划教学内容、教学组织管理等方面进行创新改革。
通过本科专业学习和实践训练,学生所能够达到的实践程度仍然是有限的,只有在职业生涯中经过各种项目,其职业技能才会不断提高。
5结束语
根据独立学院培养的毕业生在就业时需要面对研究教学型高校和高职高专院校培养的人才竞争的现状,分析软件职业技能高、中、低三个阶段的特点,提出应以培养学生的中级软件职业技能为中心,完成本科人才的培养的其它目标,并建议培养方案修订、课堂教学、实验和实习教学和学生管理等多个角度强化学生的职业技能培养。
参考文献:
[1] 中华人民共和国教育部. 关于规范并加强普通高校以新的机制和模式试办独立学院管理的若干意见[Z]. 教发[2003]8号.
[2] 刘强,孙家广. 中国软件工程学科教程[M]. 北京:清华大学出版社,2005.
[3] 全国计算机技术与软件专业技术资格(水平)考试办公室. 信息系统项目管理师考试大纲[M]. 北京:清华大学出版社,2005.
[4] 戴林富,游俊. 创新独立学院人才培养模式刍议[J]. 中国高等教育,2006(1):75-76.
[5] 陈友放. 职业院校应注重培养学生的五种能力[J]. 中国职业技术教育,2005(2):45-46.
[6] 付永生. 论高职会计教育的目标取向[J]. 教育与职业:理论版,2008(8):64-65.
Discussions on Developing Students’ Professional Ability of Computer Software for Independent College
YU Bo, QIN Ye-mei
(Swan College of Central South University of Forest and Technology, Changsha 410004, China)
计算机编程初级教学范文3
关键词:考证;计算机教学;高职院校;软件考试
0 引言
高职教育的培养目标定位为:在保证个人可持续发展的基础上,以社会职业岗位(群)的需要为依据,培养直接为生产、建设、管理及具备为一线服务的高技术、高技能、专门职业技能型人才。既然是一线服务的专业技能型人才,就要求学生毕业时能手持“双证”,即一个反映学历的毕业证书,一个反映专业能力的职业资格证书。作为高职院校的计算机教师,如何根据课程教学的内容和各种专业证书的特点,引导学生选择报考适合自己的相关职业资格考试,并帮助他们顺利通过考试,获取相应证书就显得十分重要了。
1 指导学生选择报考合适的专业资格考试
现在有关计算机的认证和证书考核非常多,指导学生选择参加合适的考试非常有必要。从学校和教师的角度来看,我们主要从二个方面来考虑,一是证书的通用性和含金量,二是考试的费用。现在有的证书只需交费就能获得,考试容易了,但不能真正反映学生的知识水平和能力,并不被用人单位所认可,对学生就业没有帮助;而许多计算机公司推出的认证,动辄上千甚至上万的费用,显然不适合学生的消费能力。
实践中我们选择了全国计算机技术与软件专业技术资格(水平)考试(简称计算机软件考试),这项考试是由国家人事部和信息产业部联合主办的国家级考试,国家人事部、信息产业部(国人部发[2003]39号)文件规定,计算机软件考试从2004年起纳入全国专业技术人员职业资格证书制度的统一规划。通过考试获得证书的人员,表明其已具备从事相应专业岗位工作的水平和能力,用人单位可根据工作需要从获得证书的人员中择优聘任相应专业技术职务。计算机技术与软件专业实施全国统一考试后,不再进行相应专业技术职务任职资格的评审工作,因此,这项考试是计算机及相关专业的职业资格考试,也是专业技术资格(职称)考试。学生如果获得了证书,既是职业资格证书,并在走上工作岗位后可直接获得相应的专业技术职务(职称);另一方面,考试费用只有100多元,对学生来说是比较合适的。
根据高职学生的特点和课程教学的内容,我们要求学生参加计算机技术与软件专业技术资格(水平)考试初级资格的证书考试。计算机软件考试分5个专业类别,分别是:计算机软件、计算机网络、计算机应用技术、信息系统、信息服务,其中对应的初级资格就是:程序员、网络管理员、多媒体应用制作技术员、电子商务技术员、信息系统运行管理员和信息处理技术员。目前已经开考的初级资格有程序员、网络管理员和信息处理技术员以及电子商务技术员、信息系统运行管理员。
一般我们根据学生的特长和将来可能从事的工作来引导学生报考合适的级别。由于绝大部分高职学生将来会从事相关办公自动化的操作,所以,大部分学生应报考信息处理技术员的资格考试。部分学生擅长编程并有志于从事程序员工作的,可以报考程序员级别,还有部分网络知识比较扎实,并且有可能从事企事业单位局域网管理的学生可报考网络管理员级别考试。
2 将考证内容融入课堂教学
目前,计算机软件考试分基础知识和应用技术两个科目,基础知识科目基本上都是计算机的基础知识,学生在计算机专业的基础或专业课程中都已经学习过。比如《C语言编程基础》中就讲述了操作系统、程序设计语言的基础知识、基本数据结构和常用算法;而《软件工程》中又包含了软件工程的基础知识,包括软件过程基本知识、软件开发项目管理常识;《计算机应用基础》课程包含了信息技术的基本概念、数制及其转换、数据的机内表示、算术和逻辑运算,以及相关的应用数学基础知识、信息处理常用设备、计算机信息处理的基础知识、办公自动化常用软件的操作等知识、计算机与信息安全基本知识等;《微机组装与维护》课程包含了计算机的组成、各主要部件的功能和性能指标、计算机系统安装和维护的基本知识等;《局域网组建与管理》课程包含了计算机网络与多媒体基础知识、Internet及其常用软件的基本操作、计算机网络的体系结构和TCP/IP协议的基本知识、常用计算机网络互连设备和通信传输介质的性能、特点、局域网体系结构和局域网技术基础、以太网的性能、特点、组网方法及简单管理、Web网站的建立、管理与维护方法,熟悉网页制作技术等知识;而《计算机专业英语》则解决了考试中涉及的正确阅读和理解计算机使用中常见的简单英文的要求。因此,不论学生报考的是程序员还是信息处理技术员或网络管理员,基础知识科目的内容基本上是同学们都学习过的。我们一般会在考前安排专业教师进行复习指导,学生可以针对自己的特点进行复习应考。
对于考试的应用技术科目,由于学生报考的级别比较多样,不可能用一门课程来包含所有的内容。我们根据报考学生的多少来设置相应的课程。因为报考信息处理技术员的学生占了绝大部分,而且信息处理技术员的应用技术科目考试是进行上机操作,于是,我们就每周安排了二课时让学生专门进行办公软件的上机练习,指定教师针对考试大纲和往年的考试内容进行辅导,要求学生能熟练操作,为学生参加该应用技术科目的考试打下基础。
程序员的应用技术科目考试由于涉及编程技术,每个班报考的学生又比较少,很难集中在白天上课的时间辅导。我们就请已经通过软件设计师考试的有经验教师开设晚上的公选课,对各班的报考学生集中进行辅导,针对大纲要求及历年试题进行算法和编程能力的训练,让学生能够比较顺利地解决考试中的编程题。
网络管理员、电子商务技术员和信息系统运行管理员的考生相对就更少一些,不能以开班的形式来复习指导,我们就设立了第二课堂,以兴趣小组的方式,通过教师辅导和学生自己交流相结合来进行学习。
3 以生为本,服务学生
除了在专业知识上对学生进行辅导外,为方便学生报考,我们在本学校开设了报名确认现场,有专门的教师指导学生选择报考专业,并集中收齐学生的报名资料后由老师统一集体办理报名手续。同时还提供复习资料的目录,由学生选择后老师统一代购。另外,在考试前还专门提醒学生考试注意事项和考试必须带的文具,设计合理的乘车路线。如果学生报考特别多的还联系校车接送学生前往考试地点。
4 结束语
这几年的探索和实践,使我校计算机专业的考证工作取得了可喜的成效。表1和表2是2006年下半年和2007年上半年我校计算机软件考试获证合格率与全国平均合格率的比较情况。
计算机编程初级教学范文4
1.1“计算机科学”发展方向
“计算机科学”发展方向主要可以分为两部分:实验计算机科学和理论计算机科学,其中包括了对算法的理论研究以及对计算的极限、计算系统的实现等等研究。“计算机科学”的主要学科分为计算理论,编程方法与编程语言,计算机元素与架构以及算法与数据结构着四门学科,除此之外还包括计算机网络与通信,并行以及分布式计算,人机交互,机器翻译,人工智能,计算机图形学,以及数值和符号计算等等其他重要领域。“计算机科学”发展方向应该注重对学生计算机科学理论知识的培养,在夯实学生理论知识的基础上,培养学生的自主研发能力,使学生在计算机相关领域内的问题时,能提出行之可效的实际解决办法[1]。
1.2“计算机网络工程”发展方向
“计算机网络工程”发展方向主要是研究计算机网络系统以及计算机的理论和设计等领域知识,其中还包括:以太网和无线局域网技术、数据结构、Internet和网络互连技术、网络协议、网络信息安全技术、网络需求与规划、网络设计与理论、网络管理与维护等等。“计算机网络工程”学科主要学习计算机网络通信、网络安全、网络设计等方面知识,培养学生的网络技术开发与设计能力,增强学生的创新能力和实践能力,以适应社会对高素质、创新型人才的需要。
2.计算机专业课程设置的优化
高等院校的教学目的是培养社会需要的高素质人才,以适应社会发展需要。所以在专业课程的设置上,要以市场需求为导向,不断优化专业课程设置,以培养社会所需要的创新型人才。计算机专业就业科大致分为以下几个方向。一、计算机应用。这类主要就业于初级程序员、信息与数据处理销售等。针对这些就业方向,学习应开设相关的课程教学,增强学生的专业技能掌握程度,提高学生毕业后的就业率。二、网络方面。这方面主要从事网络管理、安全与维护方面工作。对此,学校应加强对学生的实践能力的课程教学,减少计算机理论知识课程的设置[2]。
3.培养创新型计算机人才的策略
3.1以社会需要为导向,确定培养方向高校计算机专业的教学培养目标的确立是培养创新型计算机人才策略实施的实际依据,它以实际社会需求为客观标准,来设置计算机课程的教学任务、知识体系以及课程侧重点。创新型计算机人才的培养,需要以专业技能为核心、个人综合素质以及个人能力为基本,并对其进行有机结合,以完成人才的培养目标。其中又因为专业技能与侧重点不同,人才培养方向可跟为“研究型人才”、“工程型人才”、“应用型人才”等三类。第一类注重计算机理论知识的学习;第二类注重个人实践能力的培养;第三类注重对计算机技术的应用与处理。
3.2营造和谐的学习氛围“孟母三迁”的故事早已经告诉我们环境、氛围对人的学习和成长有很大的影响。所以说在计算机课程的教学中,营造一个良好而又和谐的学习环境和氛围对学生的学习有着十分重要的影响。在进行计算机理论知识与操作教学时,应该穿插一些实践操作或者是对学生自主设计的程序的分析和讲解,即给学生带来一定的急迫感,促使学生对课堂教学注意力的集中,又可以引发学生学习兴趣,加强课堂教学的趣味性,营造出一种轻松、浓厚的学习氛围[3]。
4.结束语
计算机编程初级教学范文5
关键词:实验课程建设;教材建设;课程规划;教学实施
中图分类号:G642 文献标识码:B
1引言
1.1实验课程教学的难点分析
操作系统在计算机领域有着举足轻重的作用,它是最基础的系统软件,也是计算机系统的核心与灵魂。作为计算机学科中一门承前启后的专业基础课程,“操作系统”在计算机专业课程体系中扮演着重要角色。多年来,国内外高校均将“操作系统”列为计算机专业的核心课程之一,并不断从教学方式、课堂内容、实验环节等方面对“操作系统”教学进行探索和创新,通过多种途径提高“操作系统”课程教学质量,力求使学生真正掌握操作系统设计原理与实现技术的精髓。
作为一门理论与实践并重的专业核心课程,操作系统具有以下特点:一方面理论性强、概念抽象,难以理解;另一方面设计技巧高超、实现机制精妙、系统代码量大,难以掌握。此外,随着计算机网络及分布并行等技术的不断发展,操作系统设计与实现技术不断更新,并与多个方向交叉。因此,“操作系统”教学一方面必须不断充实内容、涵盖最新技术发展、反映技术演变趋势;另一方面还应突出内涵、深入剖析基本理论与核心技术。从而使学生真正做到融会贯通,消化吸收操作系统设计与实现精髓。
早期,因受限于计算机教学资源(如实验设备缺乏、系统代码封闭等),“操作系统”课程教学主要以课堂讲授为主,教学内容理论性过强,实验环节薄弱。实验教学的欠缺容易造成学生停留在对概念与设计原理的抽象理解,只能“知其然,而不知其所以然”,无法真正认识问题本质、掌握原理及设计内涵,不利于对学生创新能力的培养。多年来,学生也普遍认为“操作系统”课程概念晦涩、原理复杂、内容枯燥、无法激发学习兴趣。为弥补实验教学缺失,国内一些院校开始在教学中引入操作系统原型设计,试图以特定微型操作系统(如Minix)原型为基础,要求学生设计并改进该原型系统,以期强化对操作系统基本原理的理解,并培养实际应用能力。然而,这类原型系统通常功能单一、结构简单,虽有助于理解和掌握操作系统基本原理,但因设计简化且缺乏必要的应用背景,无法反映操作系统技术内涵及演变趋势,不利于培养学生的应用实践能力。
1.2实验课程建设的机遇
近年来,以Linux为代表的开源操作系统的飞速发展及其在各领域的广泛运用,在产业界产生巨大影响。一些知名IT厂商均将公布其操作系统源码作为提高软件产品核心竞争力的重要举措,并纷纷组织资深工程师撰写内核设计技术资料。如SUN公司开放OpenSolaris源代码,微软亚洲研究院也对亚太地区高校开放了部分用于教学的Windows内核源码。开源系统的发展及产业界的积极响应有效改变了操作系统教学资源缺乏的困境,为“操作系统”课程教学改革带来新契机,并引起教育界高度重视。2008年教育部启动“高等学校计算机科学与技术专业核心课程(操作系统)教学实施方案研究”项目,并交由教育部高等学校计算机科学与技术教学指导委员会和高等教育出版社组织国内知名专家,成立“操作系统”课程教学实施方案研究组,集思广益,对“操作系统”课程教学实施方案开展研究。图1给出了实施方案中关于“操作系统”实验和实验体系结构的框架,该结构以Linux、Windows等主流操作系统为实例,从实验难度上将实验课程教学分成用户层、内核初级及内核高级等三个层次;从实验类型上将实验课程教学分成使用与管理级、观察与体验级、编程与修改级、设计与实现级等四个等级,为“操作系统”实验课程设计提供参考。
我们认为,个人计算机的不断普及开源代码的快速发展极大改善了“操作系统”课程教学的资源环境,为实验课程改革提供了机遇。“操作系统”实验课程建设必须审时度势,充分利用现有平台环境和资源条件,及时调整课程体系、优化教学大纲、改变教学模式、充实教学内容,适应信息技术快速发展之需要。
2 “操作系统”实验课程建设概况
2.1实验课程建设基本思路
“操作系统”课程教学目标主要集中在“原理、技术、应用”三个层面,其中原理是了解操作系统设计内涵的基础,技术是理解操作系统实现的核心,应用是掌握操作系统技能的途径。三者相互关联、相辅相成。实验教学环节是促成三者系统融合、验证和巩固所学知识,综合运用知识的重要教学手段,也是技能训练和能力培养,包括动手能力、协作能力、分析问题解决问题能力和探索精神、创新意识的必要途径。多年来,南京大学“操作系统”课程教学小组一直将改善和提高“操作系统”实验环节的可操作性作为“操作系统”教学改革的重点,并以使学生“理性理解原理设计思想、牢固掌握技术实现机理、切实提高应用实验技能”为课程实验教学的要求和目标加以研究。
“操作系统”实验课程建设的一个基本问题是,如何引入合适的操作系统和选择恰当的实验平台。简化的原型操作系统虽“五脏俱全”,可为实验教学提供支撑,但由于缺乏实用性,不利于培养学生的探索能力及应用技能;实用操作系统虽功能强大,但模块众多、盘根错节,技术细节琐碎,直接引入将使实验教学难度增大,缺乏可操作性。近年来,我们结合开源代码发展趋势及在“操作系统”课程教学方面的体会,以“科学性、系统性、先进性、实用性”为课程建设指导思想,确立了以“一套源码、两个角度、三个层次”为切入点的操作系统实验课程建设思路(如图2示)。具体而言,选择一种典型实用操作系统(Linux)内核源码为基础,从用户层及内核层两个角度,围绕“原理、技术、应用”三个层次剖析操作系统内在机理,从以下两个角度解决“操作系统”课程教学中的现有问题,改善教学效果。
(1) 将抽象原理设计映射到具体系统实现,使学生走出对原理理解停留于“知其然,而不知其所以然”的困境,实现对基本原理从“抽象理解”过渡到“感性理解”,并最终走向“理性理解”。
(2) 建立基于“用户空间――内核空间”的实用操作系统内在机理剖析机制,使学生能够以抽象原理为指导,透过现象看本质,了解内核实现机理,真正理解和掌握实现技术,培养应用实验技能,强化实验编程能力。
基于上述设想,建立了以“原理设计思想―系统实现问题―技术实现机理―用户应用需求―应用实验技能”为主线,基于实用操作系统内核源码的实验课程教学体系,并从教材建设、课程规划、教学模式等角度对“操作系统”实验课程建设进行探索与实践。
2.2实验教材建设
作为国内最先开展操作系统研究与教学的单位之一,南京大学操作系统教材建设最早可追溯到上世纪80年代初由人民邮电出版社出版的《操作系统原理》。近30年来,不断跟踪操作系统技术发展进展,及时修订、更新教材内容,几易其版,共出版操作系统教材6本。为推动“操作系统”实验课程建设,基于上述实验课程建设思路,结合《操作系统教程》(第4版)的修订,于2009年5月出版了《Linux操作系统实验教程》。该实验教材以操作系统基本原理为基础,结合Linux 2.6内核源码,系统介绍Linux操作系统的系统结构、设计和实现的基本思路和技术,深入剖析基本原理在Linux操作系统中的实现机制。在此基础上,通过实验把操作系统基本原理与Linux实现机制联系起来,以此激发实验兴趣,培养将所学知识融会贯通和综合运用的能力,提高学生分析问题和解决问题的能力。
在实验教材建设过程中,基于以下原则精心设计教材内容。
(1) 注重总体规划的科学性与合理性、实验环节的实用性与可操作性。
(2) 实验设计紧扣基本原理与核心技术,实验内容涵盖用户空间编程与内核代码分析。
(3) 实验安排循序渐进、层层渗透,实验形式丰富多样、富有启发性。
在实验教材建设过程中,还基于以下思路定位教材角色和规划教材结构。
(1) 实验教材与原理教程的定位与衔接。两教材在角色上相辅相成,彼此呼应。实验教材涵盖了操作系统基本原理与理论,但强调从实现技术入手,注重基本原理在特定系统实现中的渗透性,试图做到原理讲授与实验环节紧密结合,使学生真正掌握操作系统原理设计与实现技术的精髓。
(2) 实验教材内部知识体系之间的衔接。实验教材内容组织基于“由外及内、层层梯进”思想,分为用户空间及内核空间两大部分。用户空间部分从对Linux API的使用入手,旨在掌握系统的组成模块和接口的使用方法,并从系统外部洞察操作系统的数据结构、内部状态和工作过程。内核部分从修改Linux内核入手,试图通过改变系统数据结构、替换原有算法、添加内核模块等,从系统内部探索其内核结构、实现机制和典型算法,达到初步具有分析、修改、设计和开发操作系统的能力。两部分内容遥相呼应,可满足不同院校在不同级别上观测、分析系统原理之需求。
2.3实验课程规划
我们虽强调理论性与实验性并重,但理论是实验的基础。因此,在具体操作过程中,将理论课程教学与实验课程教学分段实施,分设独立课程,使两者各有所重。在“操作系统”课程教学规划中,我们将两门课程分别安排在大二下学期及大三上学期开设。其中理论课程选用《操作系统教程》(第4版),以课堂教学为主,主要侧重对基本概念的讲解及原理设计基本思想及特点的分析;实验设计以观察与体验级别为主,使学生对基本概念与原理有较强的感性认识。实验课程的课堂教学以引导问题为主,侧重分析基本原理在系统实现及实际应用中的难点,激发学生对实现及应用问题的思考与关注。实验课程以《Linux操作系统实验教程》为蓝本,实验设计以对抽象原理的感性认识为基础,从对操作系统的用户空间编程入手,层层深入,逐步探索,剖析从基本原理到内核实现映射机理,从而使学生能理性理解设计原理,掌握实现技术,提高实验能力。
3 “操作系统”实验课程教学实施
3.1确定不同目标,实施分层教学
2008年下半年,我们以南京大学计算机科学与技术系及南京大学金陵学院计算机科学与技术系大三学生为授课对象,对基于Linux的“操作系统”实验课程教学进行了实践探索。针对两院系学生的生源特点及人才培养目标总体定位的不同,分别设计了相应的实验教学目标(见表1)。
3.2基于“专题聚合”的实验教学内容组织
《Linux操作系统实验教程》从用户空间及内核空间角度将教材内容分成两大部分。其中第一部分(共11章)结合操作系统基本原理,从应用角度系统介绍 Linux 操作系统核心功能设计及其应用编程接口API,具体内容包括Linux安装和编译、进程与线程、传统进程通信、System V IPC进程通信、Shell程序设计、页面替换算法、文件系统设计和实现、时钟与定时器、网络通信编程、事件驱动编程等;第二部分(共8章)从内核实现角度系统介绍Linux操作系统的实现技术,具体内容包括内核模块、中断与系统调用、同步机制、进程调度、存储管理、虚拟文件系统、proc文件系统、设备驱动程序等。
在实验教学内容组织过程中,考虑到知识体系的关联性与完整性,采用纵向整合,基于专题组织教材内容。整个教材内容共分为Linux操作系统概述、进程与线程、进程通信、时钟与定时器、Shell、存储管理、文件系统、内核模块等8个专题(如图3),专题覆盖了实验教材各章节内容。对于每个专题,均以“原理设计思想―系统实现问题―技术实现机理―用户应用需求―应用实验技能”为主线,以“抽象理解―感性认识―理性理解”为进阶途径,设计专题内容。首先简要介绍基本原理背景,并引出其在特定系统实现中的技术问题,实现从抽象原理到物理问题的映射;然后通过相应应用编程接口及系统调用从用户和内核角度观测和理解系统实现特点,加深对相关技术的感性认识;随后,结合性能观测结果、深入分析相关内核代码设计与实现机制,从而实现对原理设计的理性理解。例如,在“进程与线程”专题中,首先从进程与线程的一般概念入手,给出Linux进程与线程设计的特点;随后详细介绍创建Linux进程/线程的系统调用,并通过实例展示使用不同参数调用时的性能差异;最后根据观测结果从进程结构描述、内核管理机制等角度介绍Linux线程/进程的实现技术。
3.3 “纵观本质,横看演变”的实验课程教学思路
实验课程教学以专题为基础,并结合生源特点及人才培养目标定位的不同,因材施教,分别建立实验课程教学实施策略。在学时安排上,南京大学计算机科学与技术系采用3学时/周,其中每个单周讲授一个专题,双周安排实
金陵学院采用(3+3)学时/周,即每周安排3学时专题讲座及3小时专题实验。虽然对不同培养目标学生的实验类型定位不同,但我们兼顾学生自身发展的个性化需求,做好不同层次内容之间的衔接问题,激发感兴趣同学将实验难度及质量向深度推进。
在教学过程中,采用“纵观本质,横看演变”策略。在纵观本质上,采由表及里,逐步向纵向推进,向深度扩展。具体而言,以抽象原理为指导,分析系统实现问题,通过应用编程接口及系统调用观测系统性能效果、进而剖析实现机制,理解原理设计精髓。在横看演变方面,还对不同版本Linux内核的实现机制进行横向对比,捕获技术演变过程,加深学生对技术机理的理解,保证知识结构的先进性。如在“进程调度”专题中,将结合Linux 2.4与Linux 2.6调度策略的不同介绍内核结构的设计的差异与要点。
3.4实验课程教学成效分析
通过选取两院系学生部分作业及期末试卷题目作为考察项,对基于Linux的操作系统实验课程教学成效进行分析,表2给出了作业完成/答题情况分析结果。对考察项说明如下:在“进程与线程”专题中,实验题目是“打印Linux系统中的进程树结构”。该实验可通过使用系统调用访问进程task_struct结构或直接访问内核链表来实现,其中前者实验难度属于内核初级,后者属于内核高级;在期末考试中,程序分析题(属于内核高级)要求学生结合 Linux软中断内核代码分析其软中断处理机制,程序设计题(属于内核初级)要求学生基于TCP/IP socket网络编程技术,实现一个支持多用户并发执行的客户/服务器程序。
从分析结果来看,南京大学计算机科学与技术系学生在“内核高级”难度的观察项上的结果明显高于金陵学院学生,在“内核初级”难度的观察项上的结果差异相对较小。观察结果表明,基于Linux的“操作系统”实验课程建设已初显成效,并达到了对不同层次人才培养的实践能力要求。
4结束语
以Linux为代表的实用操作系统的开源化为操作系统实验课程建设提供了新的机遇。本文结合操作系统教学要求和目标,提出了以“一套源码、两个角度、三个层次”为切入点的实验课程建设思路,并从教材建设、课程规划、教学实施等角度具体介绍了实验课程建设的关键环节。论文还结合南京大学计算机系及金陵学院计算机系实验课程的教学情况,对基于Linux的实验课程教学实践成效进行了观察、分析。结果表明,实验课程建设已初显成效,满足了对不同层次人才操作系统实践能力培养的要求。在后续工作中,我们将结合专题内容,进一步优化实验习题的设计、完善基于Linux的操作系统实验课程教学体系。
参考文献:
[1] 操作系统课程教学实施方案研制组.高等学校计算机科学与技术专业核心课程教学实施方案(草案)[Z].2009.
[2] 史广顺,韩维桓, 袁晓洁. 南开大学“操作系统”课程建设的思考[J]. 计算机教育,2009(4):21-24.
[3] 罗宇, 张颖蓓, 叶常春. 本科操作系统课程设置及教学体会[J]. 计算机教育,2006(1):39-40.
计算机编程初级教学范文6
【关键词】高职教育;软件开发;能力培养
0 引言
教育部《关于全面提高高等职业教育教学质量的若干意见》明确指出要“加强素质教育、突出实践能力培养,改革人才培养模式”。软件行业是一种技术密集型行业,其技术性主要体现在隐性的思维过程中。从企业角度来看, 软件企业的工作过程是按用户需求进行需求分析、设计、实施和完成项目计划的生产过程;从职业角度来看,技术人员(高职培养目标――程序员)的工作过程是对具体工作任务(如功能模块、算法等)的计划、分析、编写代码的劳动过程。
当前,我国的高等职业教育发展迅猛,为高等教育大众化的实现作出了重要贡献。然而,由于起步晚,加上受到学科型普通高等教育的影响,高等职业教育的质量还不尽如人意。传统的普通高校本科教育以学科体系为核心,而高职教育的定位则要求体现职业性与学科性的结合,以培养高技能应用型人才为主。在教学实践中,没能注意这两者的差别,把高等职业教育办成了缩减版的普通高校本科教育。以电子信息类学科为例,重理论轻实践,课程过于强调学科系统化,学科体系的完整性,忽视“工作过程”,对学生的实践能力重视不足,严重地影响了高等职业教育的质量。
1 高职教育能否培养计算机软件开发所需人才
有人认为高职学生的入学水平低,难以培养出软件专业所需人才,软件专业人才只能由本科培养。这种观点没有认识到软件产业对人才的需求是全方位和多层次的。软件产业既要有需求分析师、项目经理、项目分析师和程序设计师,他们由本科和研究生教育培养;也需要大批写程序代码和用户手册的底层程序员,他们占软件专业人才总数的90%,可以由专科层次的高职教育培养。
本科与高职教育的专科不仅仅是不同层次的高等教育,而且是不同类型的高等教育,其培养目标、学习内容、就业方向等都有不同。本科开设软件专业是培养计算机软件专门人才,其培养目标是培养从事计算机软件设计、开发与系统运行的高级工程技术人才。本科教育按照计算机科学的体系来设置课程,学生主要学习计算机系统软件、应用软件的研究、设计、开发和运行的基本理论与技术。我国高职教育开设计算机专业,培养从事计算机软件程序设计、测试、系统维护的技术应用型人才。计算机软件专业高职教育按照一般程序员的职业岗位要求设置课程,学生主要学习计算机编程技术的知识和方法,理解计算机软件工程思想和软件规范设计要求,熟悉数据库技术、通用软件编程语言和软件开发工具。
如果把高职教育办成压缩型的本科,对于入学水平相对较低,学习时间短的学生,要在知识体系方面达到本科毕业生的水平,这条路自然行不通。应该改变传统的教育教学质量评价观念,不能把本科的学科本位评价观念和标准用于对高职教育的评价,而应该根据软件行业的需求,用能力本位评价观念对待高职教育。只有真正按照高职教育培养技术应用型人才的目标,以技术应用能力培养为主线建立教学体系,改革教学内容、教学思想、教学方法和教学手段,是可以把一些专科学生培养成计算机软件的高职技术人才的。有这样一个成功的例子:香港专业教育学院(IVE)是全港最大的职业教育培训机构,开设的软件工程专业类似内地的高职教育,招收中五学生(相当于内地高中毕业),全日制学习三年。这个专业多年来一直为香港的企业输送大批程序编写员,他们当中不少人后来晋升为系统分析员或初级管理人员。这个例子说明高职教育是可以培养出计算机软件专业人才的。
2 软件开发能力结构分析
对软件开发能力进行分析,要结合软件开发阶段的特点及开发过程的特点,并要结合软件开发的不同形态。下图中列出了不同学习阶段软件专业人才的能力结构,并从不同的角度进行了分析,如根据软件技术的学习阶段进行能力分析,每个后续阶段都在前面的基础上增加了新的能力。另外,要逐步实现从个人能力到团队能力的过渡。
图1 软件开发能力结构图
在能力培养时,程序设计阶段仅仅是初级阶段,对应的能力要求仅仅是基本的程序设计能力与算法能力等,这时的程序设计只有几个程序文件的形式。而后两个阶段则在文件数量、程序规模等方面增加了很多,其能力要求与能力培养大不相同。进入软件开发阶段后,则需要重点对专业职业能力进行培养,这时应强调软件的总体设计,以及在此基础上展开的职业活动,并引入团队开发与管理等领域,此阶段的过渡对学生而言是一个飞跃。
在程序设计阶段的学习,重点在程序设计与算法能力培养;在软件设计阶段要进行团队开发则需要设计、管理、交流协同、文档表达等综合能力的应用,应逐步提高学生的综合能力与素质。实践表明培养学生的这些能力需要在实际开境下进行才能达到好的教学效果。如何设计、创造这个学习情境,是我们要重点探索的内容,要切实做好软件开发的工学结合,落实一种可持续发展的学习模式,达到培养学生专业能力与素质的目的。另外,系统应用阶段需要将软件系统本身作为一个应用产品进行设计、开发、实施、应用等,此阶段对应的岗位类型较多,在教学过程中,可根据学生的特点进行因材施教。总之,各个阶段的能力与要求不同,培养目标也不同,高职院校应把培养的重点放在程序设计阶段和软件设计阶段上,而不用强求全面。
3 用职业教育的方法培养软件蓝领
高职计算机专业应以市场为导向,对学生进行职业培训,职业认证。按照软件产业国际化、标准化和规范化的要求进行授课,注重知识的横向联系,培养学生综合运用技术的动手能力,使学生到企业后不需再培训就可以上岗操作,从而保证企业的人才需求。突破计算机专业传统的教学模式、教学内容和教学方法。学生在校期间要受到充分的职业教育训练,为此必须改革课程体系,理论教学以够用为度,不用追求全面化、体系化。通过三年的学习,要求学生能掌握计算机编程的知识和方法,深刻理解计算机软件工程思想和软件规范设计要求,熟悉数据库管理技术,精通二三门先进且通用的软件编程语言或软件开发工具,并能熟练应用于软件工程开发过程。
根据就业市场的需要,跟踪国际上先进的技术,保持与企业的联系,保证人才培养的先进性,注重调查和跟踪市场,保证人才培养方案和教学内容与I T 先进技术同步发展。例如印度的AOTECH公司是世界上最大的计算机教育培训机构之一,它由600 多位专家负责制定人才培养方案和编写教材,其中三分之一的人负责市场分析,三分之一的人负责与国际著名的I T 企业保持联系,三分之一的人根据市场分析和企业调查的结果编写教材。这个公司成立16年以来,教材更新了20版,目前教材更新的周期是半年。然而我国目前高校的计算机软件的教材通常由教师自己决定,或者由教研室、教学院系指定。实际上,教师个人、教研室、教学院系、甚至大多数学校都没有大范围跟踪企业、调查市场并根据市场需求调整教学内容的能力。
【参考文献】