论文部分内容阅读
摘 要:本文针对用人单位对.NET程序员的岗位职能需求,引入或创设与教学内容相适应的具体场景或气氛,以引起学生的情感体验,帮助学生迅速而正确的理解教学内容,按照软件开发流程和模式,对学生的项目设计和开发能力进行锻炼,提高学生的职业技能。
关键词:开发流程 职业技能 教学情境
中图分类号:G421 文献标识码:A 文章编号:1672-3791(2013)02(a)-0211-02
目前我国的劳动力市场,求职人数过剩,但满足企业要求的专业人才又很稀缺。这种结构性的人才市场供求矛盾是我国高等教育亟待解决的问题,更是“以人为本,面向人人”为目标的职业教育不可推卸的责任。纵观近几年的就业市场变化,软件技术专业毕业生经历了“一夜成名、求之不得”的宠幸,也遭遇了“千呼百应、尽失风流”的冷落。就业情况经调查显示:软件技术专业的毕业生有的考教师证,有的去做汽车或房产销售等,真正从事软件行业的学生只有极少数,究其原因,主要是我们的学生毕业后不能适应工作岗位,编程能力极差。本文将从.NET程序员的培养来探究《C#高级程序设计》课程的教学设计,其教学方法也将会给相关程序类课程提供指导。
《C#高级程序设计》课程主要培养面向软件企业的.NET程序员,同时也兼顾培养软件测试员。
1 课程设计的基本思路
《C#高级程序设计》课程是一门实践性很强的课程,根据社会发展和企业需求,按照“以职业活动为导向,突出职业能力的培养;以项目为载体,用任务训练学生的职业岗位能力;以学生为主体,理论、实践一体化的课程设计”的原则,与企业同行一起进行科学策划,运用新的教学理念、教学模式与教学方法对课程进行整体设计,主要采用以下措施:调研软件研发和企事业单位→考察岗位职业能力和工作过程→制定课程目标体系和能力培养目标体系→跟踪毕业生,听取学生的反馈意见→确立该课程对应的职业岗位能力→设计教学情境和学习项目。
2 NET程序员的任职要求与岗位技能
根据软件研发企业、各专业招聘网站和毕业生的市场调研,得到.NET程序员的任职要求是:根据软件需求说明书和软件设计文档实现软件产品;从事具体的软件开发,模块代码编写;开发和维护统一的软件开发架构,发现和解决存在的软件设计问题;按软件工程流程编写和提交设计文件相关文档;熟练掌握VS.net的使用;熟练掌握C#语言。从而得出对应的岗位技能是:熟悉或精通C#语言;熟练掌握VS.net的使用;熟悉Windows平台下的程序开发;熟练使用ADO.NET实现数据库访问操作;熟悉数据库后台管理和SQL编程。
3 教学内容设计
根据.NET程序员的岗位能力需求,从而确定本课程的学习内容,我们以真实的典型项目“WebShop电子商城后台管理系统”为载体来学习本课程,内容主要有:面向对象编程技术;各种控件的使用;数据库访问技术;主界面设计;数据的增删改查;文件操作;报表制作;系统发布和应用程序安全。根据教学需要,将内容重构为用户登录、数据管理、主模块和系统管理4个大教学情境,大情境又细分为9个子情境(系统分析与设计、登录界面设计、用户管理、商品管理、订单管理、数据备份与恢复和数据导入与导出、主界面设计与系统整合、报表制作、系统发布)。各个学习情境既具有一定的独立性,又有相关性,环环相扣。按基于真实项目“WebShop电子商城后台管理系统”开发实践,学生在完成各情境的开发过程中,掌握基于C#的Windows应用系统开发技术。本课程学习情境设计的特点:系统性、独立性、完整性、扩展性、通用性。系统性是指学习情境是一个典型的信息管理系统分解而来,任何的信息管理都必须具备这些功能,对学生开发类似的软件具有借鉴作用。独立性是指每一个学习情境都是一个完整的小系统,可以将其移植到其他系统中使用。完整性是指在实施学习情境的过程中,我们完整的模拟了软件开发的全过程,让学生体会软件开发的方法和技术。扩展性是指所有的情境都是经过精心设计和安排,让学生在学习中逐步扩充和完善系统功能,学生还可以在系统的基础上增加功能模块。提高学生的创造能力。通用性是指软件的设计严格按照软件设计的标准,让每个模块具有通用性,以保证代码的可重用,为学生在今后工作中积累经验和资源。
4 教学环节设计
以一次课堂教学为例,课程教学的环节设计是:课前准备(点名,教学资源和任务单分发)→情境教学(情境描述、情境需求、情境分析、情境实现、课堂点评、情境实施、情境完善、情境扩展)→考核评价→机房清理。主要采用情境教学法并结合角色扮演法、小组学习法、设问解答式教学方法来实施教学。
每个子情境都有一个教学任务单,说明本教学单元要完成的主要工作任务,各任务完成后取得一定的平时成绩分,每个任务要说明任务名称、主要内容、基本要求和评价方案。其中评价项目中一般有需求分析、项目设计与答辩等,通过答辩来了解学生对知识掌握情况,如果项目有创新,经老师核准可加分。项目设计中,测试员发现一个错误加1分,程序员扣1分,项目组长根据工作业绩及工作表现来评定本小组同学的成绩。
5 教学方法
《C#高级程序设计》课程采用“理论实践一体化”的教学方式,以4个课时为一个教学单元,理论教学和实践教学都在实训场所完成,实现“教、学、做”合一。教学中综合运用多种方法。(1)情境教学法。通过营造真实的软件企业工作环境,提供真实的客户需求,按照真实的软件开发流程和技术规范,以项目制的方式进行针对性的角色化的实战训练。将软件的开发流程(系统调查、需求分析、系统设计、系统实施、系统评审、系统维护)转换成情境教学的每一步骤,启发、引导学生的思维,让学生学会解决问题的方法和手段,提高了学生的职业能力和素质,实现与企业岗位无缝对接。(2)角色扮演法。在项目开发过程中对开发组中的各个成员,分配不同的角色,如技术总监、研发总监、项目组长、测试组长、美工组长、程序员、测试员和美工员等,一人也可兼多个角色。研发总监岗位职责是:了解本领域行业软件的发展及趋势,负责参加项目调研,编写软件需求说明,负责整个项目的系统规划、项目细分,并制定项目任务和项目进度表,制定软件的开发规范并监督执行,负责对研发组长进行过程考核,完成服务部交待的其他任务。技术总监岗位职责是:组织实施系统架构设计,负责整个项目核心框架的设计,并完成核心代码的设计,进行各类提升研发人员的整体研发能力的培训,组织并参与技术攻关,指导成员进行疑难问题的处理,完成服务部交待的其他任务。研发组长岗位职责是:参与项目调研,参与编写软件需求说明,参与系统分析、架构设计,负责某个项目模块的项目细分,并制定项目任务和项目进度表,监督软件开发规范在本研发组的执行,负责对本组成员进行过程考核,完成研发部交待的其他任务。测试组长岗位职责是:参与项目调研,参与编写软件需求说明,负责选派测试员到各研发组,为每个研发组制定测试任务和测试进度表,监督软件测试规范在本测试组的执行,负责对本组成员进行过程考核,完成研发部交待的其他任务。美工组长岗位职责是:了解目前流行的网页美工技术,负责选派美工到各研发组,为每个研发组制定美工任务和美工进度表,负责对本组成员进行过程考核,完成研发部交待的其他任务。(3)设问解答式教学法。在实施情境教学中,老师首先给学生呈现各种各样的主题任务来驱动教学,学生也可自己发现问题,然后由学生分组解决问题,如果问题得到解决可小组加分,学生不能解决的问题,最后由老师引导学生共同解决。这样可促使学生主动思考,活跃课堂气氛,使学生在学习过程中能真正成为软件开发主体。(4)小组学习法。将学习班级看成一个软件服务项目部,设研发总监1名,技术总监1名。研发部下辖研发组若干,测试组若干,美工组1个。每个研发组3~4名成员,设研发组长1名,程序员2~3名。每个测试组3~4名成员,设测试组长1名,测试员2~3名。美工组为临时机构,设美工组长1名,不设常驻人员,美工通常由各组程序员、测试员兼任。学生可根据自己的兴趣和能力选择自己的角色,各角色必须认真履行自己的职责,否则会影响项目开发进度,导致全组人员或个人扣分,这样形成小组竞争,易于形成学习合力。同时利于发挥尖子学生的带头作用,以点带面,带动全体学生的学习积极性,培养了学生的团队协作精神。
6 考核设计
学生的课程成绩由过程考核(登录设计、数据管理、系统管理各占10%)、综合考核(50%)与职业素养(学习态度、课堂工作任务完成质量等,占20%)组成。综合考核可以先告诉学生题目和考核内容,学生可利用业余时间查资料、小组讨论等方式来开发项目,教师主要通过项目答辩形式来考核学生对知识掌握情况。采用这种开放式考核方法更能提升學习的学习兴趣,巩固课堂上所学的知识。
7 结语
在教学各环节中,既注重学生的整体教学,又积极鼓励学有余力的学生拓宽知识和技能,通过课程网站提供大量的拓展资源、拓展案例、虚拟项目以及选拔学生进虚拟公司和软件公司承担真实项目的方法,激励优秀的学生脱颖而出。
通过本课程的训练,学生能熟悉软件开发流程,了解企业开发方式,具备诚实、守信、坚忍不拔的性格,具备表达、沟通、团队协作能力,具备自我学习、独立解决问题能力,养成规范编码、按时交付软件的工作作风,能够综合应用Windows技术、数据库技术、测试技术、软件工程方法,独立开发小型的C/S模式的Windows应用软件,同时也能胜任软件开发岗位上的其他基础性工作。
参考文献
[1] 宁雪静,沈泽刚.高级语言程序设计课程整合研究[J].计算机教育,2009(2).
[2] 温雅敏.数学专业高级语言程序设计课程教学模式改革探讨[J].科技经济市场,2008(5).
[3] 王淑霞,田丽艳.兴趣教学在高级语言程序设计中的应用[J].通化师范学院学报,2011(2).
[4] 曹蕾,吕庆文,张煜,等.大学计算机基础课程教学改革的调查与设想[J].计算机教育,2007(12).
[5] 赵志敏.高校计算机基础教育现状与发展对策研究[D].沆南:山东师范大学,2008.
[6] 张道好“.C语言程序设计”课程教学方法的研究与实践[J].安庆师范学院学报(自然科学版),2008(4).
关键词:开发流程 职业技能 教学情境
中图分类号:G421 文献标识码:A 文章编号:1672-3791(2013)02(a)-0211-02
目前我国的劳动力市场,求职人数过剩,但满足企业要求的专业人才又很稀缺。这种结构性的人才市场供求矛盾是我国高等教育亟待解决的问题,更是“以人为本,面向人人”为目标的职业教育不可推卸的责任。纵观近几年的就业市场变化,软件技术专业毕业生经历了“一夜成名、求之不得”的宠幸,也遭遇了“千呼百应、尽失风流”的冷落。就业情况经调查显示:软件技术专业的毕业生有的考教师证,有的去做汽车或房产销售等,真正从事软件行业的学生只有极少数,究其原因,主要是我们的学生毕业后不能适应工作岗位,编程能力极差。本文将从.NET程序员的培养来探究《C#高级程序设计》课程的教学设计,其教学方法也将会给相关程序类课程提供指导。
《C#高级程序设计》课程主要培养面向软件企业的.NET程序员,同时也兼顾培养软件测试员。
1 课程设计的基本思路
《C#高级程序设计》课程是一门实践性很强的课程,根据社会发展和企业需求,按照“以职业活动为导向,突出职业能力的培养;以项目为载体,用任务训练学生的职业岗位能力;以学生为主体,理论、实践一体化的课程设计”的原则,与企业同行一起进行科学策划,运用新的教学理念、教学模式与教学方法对课程进行整体设计,主要采用以下措施:调研软件研发和企事业单位→考察岗位职业能力和工作过程→制定课程目标体系和能力培养目标体系→跟踪毕业生,听取学生的反馈意见→确立该课程对应的职业岗位能力→设计教学情境和学习项目。
2 NET程序员的任职要求与岗位技能
根据软件研发企业、各专业招聘网站和毕业生的市场调研,得到.NET程序员的任职要求是:根据软件需求说明书和软件设计文档实现软件产品;从事具体的软件开发,模块代码编写;开发和维护统一的软件开发架构,发现和解决存在的软件设计问题;按软件工程流程编写和提交设计文件相关文档;熟练掌握VS.net的使用;熟练掌握C#语言。从而得出对应的岗位技能是:熟悉或精通C#语言;熟练掌握VS.net的使用;熟悉Windows平台下的程序开发;熟练使用ADO.NET实现数据库访问操作;熟悉数据库后台管理和SQL编程。
3 教学内容设计
根据.NET程序员的岗位能力需求,从而确定本课程的学习内容,我们以真实的典型项目“WebShop电子商城后台管理系统”为载体来学习本课程,内容主要有:面向对象编程技术;各种控件的使用;数据库访问技术;主界面设计;数据的增删改查;文件操作;报表制作;系统发布和应用程序安全。根据教学需要,将内容重构为用户登录、数据管理、主模块和系统管理4个大教学情境,大情境又细分为9个子情境(系统分析与设计、登录界面设计、用户管理、商品管理、订单管理、数据备份与恢复和数据导入与导出、主界面设计与系统整合、报表制作、系统发布)。各个学习情境既具有一定的独立性,又有相关性,环环相扣。按基于真实项目“WebShop电子商城后台管理系统”开发实践,学生在完成各情境的开发过程中,掌握基于C#的Windows应用系统开发技术。本课程学习情境设计的特点:系统性、独立性、完整性、扩展性、通用性。系统性是指学习情境是一个典型的信息管理系统分解而来,任何的信息管理都必须具备这些功能,对学生开发类似的软件具有借鉴作用。独立性是指每一个学习情境都是一个完整的小系统,可以将其移植到其他系统中使用。完整性是指在实施学习情境的过程中,我们完整的模拟了软件开发的全过程,让学生体会软件开发的方法和技术。扩展性是指所有的情境都是经过精心设计和安排,让学生在学习中逐步扩充和完善系统功能,学生还可以在系统的基础上增加功能模块。提高学生的创造能力。通用性是指软件的设计严格按照软件设计的标准,让每个模块具有通用性,以保证代码的可重用,为学生在今后工作中积累经验和资源。
4 教学环节设计
以一次课堂教学为例,课程教学的环节设计是:课前准备(点名,教学资源和任务单分发)→情境教学(情境描述、情境需求、情境分析、情境实现、课堂点评、情境实施、情境完善、情境扩展)→考核评价→机房清理。主要采用情境教学法并结合角色扮演法、小组学习法、设问解答式教学方法来实施教学。
每个子情境都有一个教学任务单,说明本教学单元要完成的主要工作任务,各任务完成后取得一定的平时成绩分,每个任务要说明任务名称、主要内容、基本要求和评价方案。其中评价项目中一般有需求分析、项目设计与答辩等,通过答辩来了解学生对知识掌握情况,如果项目有创新,经老师核准可加分。项目设计中,测试员发现一个错误加1分,程序员扣1分,项目组长根据工作业绩及工作表现来评定本小组同学的成绩。
5 教学方法
《C#高级程序设计》课程采用“理论实践一体化”的教学方式,以4个课时为一个教学单元,理论教学和实践教学都在实训场所完成,实现“教、学、做”合一。教学中综合运用多种方法。(1)情境教学法。通过营造真实的软件企业工作环境,提供真实的客户需求,按照真实的软件开发流程和技术规范,以项目制的方式进行针对性的角色化的实战训练。将软件的开发流程(系统调查、需求分析、系统设计、系统实施、系统评审、系统维护)转换成情境教学的每一步骤,启发、引导学生的思维,让学生学会解决问题的方法和手段,提高了学生的职业能力和素质,实现与企业岗位无缝对接。(2)角色扮演法。在项目开发过程中对开发组中的各个成员,分配不同的角色,如技术总监、研发总监、项目组长、测试组长、美工组长、程序员、测试员和美工员等,一人也可兼多个角色。研发总监岗位职责是:了解本领域行业软件的发展及趋势,负责参加项目调研,编写软件需求说明,负责整个项目的系统规划、项目细分,并制定项目任务和项目进度表,制定软件的开发规范并监督执行,负责对研发组长进行过程考核,完成服务部交待的其他任务。技术总监岗位职责是:组织实施系统架构设计,负责整个项目核心框架的设计,并完成核心代码的设计,进行各类提升研发人员的整体研发能力的培训,组织并参与技术攻关,指导成员进行疑难问题的处理,完成服务部交待的其他任务。研发组长岗位职责是:参与项目调研,参与编写软件需求说明,参与系统分析、架构设计,负责某个项目模块的项目细分,并制定项目任务和项目进度表,监督软件开发规范在本研发组的执行,负责对本组成员进行过程考核,完成研发部交待的其他任务。测试组长岗位职责是:参与项目调研,参与编写软件需求说明,负责选派测试员到各研发组,为每个研发组制定测试任务和测试进度表,监督软件测试规范在本测试组的执行,负责对本组成员进行过程考核,完成研发部交待的其他任务。美工组长岗位职责是:了解目前流行的网页美工技术,负责选派美工到各研发组,为每个研发组制定美工任务和美工进度表,负责对本组成员进行过程考核,完成研发部交待的其他任务。(3)设问解答式教学法。在实施情境教学中,老师首先给学生呈现各种各样的主题任务来驱动教学,学生也可自己发现问题,然后由学生分组解决问题,如果问题得到解决可小组加分,学生不能解决的问题,最后由老师引导学生共同解决。这样可促使学生主动思考,活跃课堂气氛,使学生在学习过程中能真正成为软件开发主体。(4)小组学习法。将学习班级看成一个软件服务项目部,设研发总监1名,技术总监1名。研发部下辖研发组若干,测试组若干,美工组1个。每个研发组3~4名成员,设研发组长1名,程序员2~3名。每个测试组3~4名成员,设测试组长1名,测试员2~3名。美工组为临时机构,设美工组长1名,不设常驻人员,美工通常由各组程序员、测试员兼任。学生可根据自己的兴趣和能力选择自己的角色,各角色必须认真履行自己的职责,否则会影响项目开发进度,导致全组人员或个人扣分,这样形成小组竞争,易于形成学习合力。同时利于发挥尖子学生的带头作用,以点带面,带动全体学生的学习积极性,培养了学生的团队协作精神。
6 考核设计
学生的课程成绩由过程考核(登录设计、数据管理、系统管理各占10%)、综合考核(50%)与职业素养(学习态度、课堂工作任务完成质量等,占20%)组成。综合考核可以先告诉学生题目和考核内容,学生可利用业余时间查资料、小组讨论等方式来开发项目,教师主要通过项目答辩形式来考核学生对知识掌握情况。采用这种开放式考核方法更能提升學习的学习兴趣,巩固课堂上所学的知识。
7 结语
在教学各环节中,既注重学生的整体教学,又积极鼓励学有余力的学生拓宽知识和技能,通过课程网站提供大量的拓展资源、拓展案例、虚拟项目以及选拔学生进虚拟公司和软件公司承担真实项目的方法,激励优秀的学生脱颖而出。
通过本课程的训练,学生能熟悉软件开发流程,了解企业开发方式,具备诚实、守信、坚忍不拔的性格,具备表达、沟通、团队协作能力,具备自我学习、独立解决问题能力,养成规范编码、按时交付软件的工作作风,能够综合应用Windows技术、数据库技术、测试技术、软件工程方法,独立开发小型的C/S模式的Windows应用软件,同时也能胜任软件开发岗位上的其他基础性工作。
参考文献
[1] 宁雪静,沈泽刚.高级语言程序设计课程整合研究[J].计算机教育,2009(2).
[2] 温雅敏.数学专业高级语言程序设计课程教学模式改革探讨[J].科技经济市场,2008(5).
[3] 王淑霞,田丽艳.兴趣教学在高级语言程序设计中的应用[J].通化师范学院学报,2011(2).
[4] 曹蕾,吕庆文,张煜,等.大学计算机基础课程教学改革的调查与设想[J].计算机教育,2007(12).
[5] 赵志敏.高校计算机基础教育现状与发展对策研究[D].沆南:山东师范大学,2008.
[6] 张道好“.C语言程序设计”课程教学方法的研究与实践[J].安庆师范学院学报(自然科学版),2008(4).