以在线实践和项目实训为导向的 Java 程序设计课程教学改革_第1页
以在线实践和项目实训为导向的 Java 程序设计课程教学改革_第2页
以在线实践和项目实训为导向的 Java 程序设计课程教学改革_第3页
以在线实践和项目实训为导向的 Java 程序设计课程教学改革_第4页
以在线实践和项目实训为导向的 Java 程序设计课程教学改革_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

以在线理论和工程实训为导向的Java程序设计课程教学改革〔〕:

摘要:针对Java程序设计课程提出以在线理论和工程实训为导向的教学改革思路。课程内容分为根底知识和专题知识两局部。在根底知识中引入在线理论和程序设计竞赛,进步学生的学习积极性和理论才能。专题知识与后续三门专业课衔接,以工程实训的方式引出专业课的根底知识。

关键字:Java程序设计;在线理论;程序设计竞赛;工程实训

本文引用格式:王桂平,等.以在线理论和工程实训为导向的Java程序设计课程教学改革[J].教育现代化,2022,6(27):35-37.

Java程序设计是高校面向计算机、软件工程、物联网等专业开设的一门程序设计类课程。课程的教学目的是通过对Java语言的学习与认识,使学生掌握Java编程技术,理解并掌握面向对象编程、多线程编程、网络编程、Android开发等技术。本文针对Java程序设计课程提出以在线理论和工程实训为导向的教学改革思路。

一课程体系及Java程序设计课程所处位置

程序设计和软件开发是计算机类专业学生都应掌握的根本理论才能,因此这些专业开设了高级语言程序设计〔或程序设计根底〕、面向对象程序设计、C#程序设计、Java程序设计、Python程序设计等课程。以重庆交通大学为例,这些课程构成如图1所示的课程体系。

一般而言,各高校在开设Java程序设计课程之前,学生先期已经学了C++〔或C#、Python〕等编程语言,如图1所示。因此,在设计课程教学内容时因注意知识的进阶性,防止一样或相似的教学内容在课程体系中反复出现。

此外,后续专业课,如操作系统原理、计算机网络原理等,在教学演示、课程实验等环节也需要用到编程语言和技术,因此程序设计类课程在教学过程也应注意和后续专业课衔接的问题。

二教学现状

Java语言诞生于20世纪90年代初。2022年3月,Oracle公司发布了Java1.8正式版,也称Java8;2022年9月,Java1.9正式发布。Java具有简单性、面向对象、平台独立与可移植性、多线程、动态性等特点。21世纪初,国内高校开始针对计算机等专业开设Java程序设计课程。

Java程序设计早期的教学主要以Java语法为主线。由于Java体系非常庞大,且新的语法不断参加。以语法为主线的教学思路不仅教学过程枯燥,难以激发学生的学习积极性,而且纯粹讲语法不讲应用,学生难以真正掌握Java语言及技术。因此,近年来,案例驱动、任务驱动、工程驱动等教学方法陆续提出【1】【2】【3】。这些教学方法不单纯讲Java语法,而是以解决问题、完成任务、甚至施行一个完好的工程为出发点,把Java语言及相关技术串接起来讲解。

而由麻省理工学院等四所大学提出并倡导的CDIO工程教育形式包含4个方面[4,5]:构思(Conceive)、设计(Design)、实现(Implement)和运作(Operate),以软件产品研发到运行的生命周期为载体,将相关课程的教学内容有机联络起来。CDIO可视为任务驱动和工程驱动教学形式的升华。为了更好地将CDIO工程教育理念落地施行,文献【4】针对Java程序设计课程设计了明晰的学习需求、教学目的及配套的工程理论内容,设计了更加合理的教学案例工程、施行过程考核方式,等等。

此外,随着慕课(MOOC)、翻转课题等教学理念引入国内,各高校也在Java程序设计课程中采用这些教学理念[6,7]。文献【6】针对Java程序设计课程提出工程驱动和翻转课堂相交融的教学方法,总结了一些详细的教学案例,该教学方法获得了较好的效果。

三教学改革及教学方法

笔者承当的Java程序设计课程,理论教学为32课时,实验教学为16课时。本文提出的以在线理论和工程实训为导向的教学改革思路,将理论教学内容分为两局部:根底知识和专题知识。课时安排如表1所示。根底知识局部包括Java根本语法、面向对象思想及其在Java语言中的实现,占16课时。专题知识局部包含三个专题〔也占16课时〕:Java多线程技术、Java网络编程根底、Android开发,分别与下学期三门专业课衔接:操作系统原理、计算机网络原理、挪动互联APP。

〔一〕根底知识

如图1所示,学生前期已经学了C++、C#编程语言,局部学生还选修了Python语言,这3门语言都是面向对象编程语言。此外,学生还学了面向对象程序设计这门课。因此,在设计Java程序设计根底知识教学内容时,一个应遵循的原那么是:用尽力少的课时讲解Java根本语法和面向对象思想。详细执行情况如下。

1.对Java根本语法中的数据类型、运算符、流程控制均一带而过,重点讲解Java语言中特有的或与其他编程语言有区别的语法,如文档注释、数组等。

2.着重讲解面向对象思想在Java语言里的实现,包括:定义类和使用对象、构造方法、封装与隐藏、继承和多态、抽象和接口、使用Java类库,等等。这局部内容占了10课时,各局部内容课时安排如表1所示。

3.授课时注重将Java语言和学生前期学过的C++、C#、Python比照分析,如C++语言中的指针与C#语言中的引用,C#语言和Java语言中的垃圾内存回收机制,C++语言中的纯虚函数和Java语言中的抽象方法,等等。

此外,为了进步学生的学习积极性、激发学生的编程兴趣,在根底知识局部还引入在线理论和程序设计竞赛,这二者的根底是在线评判,如图2所示。

在线评判是指对用户提交的程序,根据所采用的编程语言〔C、C++、C#、Java、Python等〕调用相应的编译器,编译用户的程序,编译无误后运行,读入测试输入数据,生成用户程序的输出数据,再将其与正确的输出数据进展比对,从而评定用户程序的正确性并统计程序的运行时间,最后把评判结果实时反响给用户。

传统的编程理论往往是由老师布置题目,学生课后完成并提交给老师手工修改。在线理论不同于传统的编程理论,它是指由在线评判〔OJ,OnlineJudge〕网站或软件提供题目,学生在线提交程序,在线评判系统实时评判并反响结果。这些题目往往具有较强的兴趣性和挑战性,而且评判过程和结果公正及时,能引起学生的极大兴趣[8]。

目前国内高校开展的程序设计竞赛主要有省市级大学生程序设计大赛、中国大学生程序设计大赛、国际大学生程序设计大赛、蓝桥杯全国软件和信息技术专业人才大赛〔包括省赛和全国总决赛〕、中国高校计算机大赛团体程序设计天梯赛等。这类学科竞赛具有参赛门槛比拟低〔只要学了一门编程语言就可以参赛〕、兴趣性高、层次多、参赛时机多等特点,同时也具有较高的挑战性,所以吸引了大量学生参赛。

笔者承当的Java程序设计课程,课堂案例、课后练习、实验任务、上机考试等教学内容局部或全部采用在线理论。同时也鼓励学生积极参加各类程序设计大赛,获奖甚至仅仅是参与都能得到相应的加分,以此鼓励学生通过这些新颖的程序理论进步编程和软件开发才能。

〔二〕专题知识

由于Java语言是计算机专业系统学习的最后一门编程语言〔如图1所示〕,因此这门课程还起到与后续专业课衔接的作用。三个专题的教学方法是,在简述必要的根底知识后,通过工程实训的方式把相关的方法和技术串接起来。三个专题只是后续三门专业课的前期导引,因此涉及到的根底知识只是常识性的、普适性的知识。以下简述三个专题的教学过程。1.Java多线程技术专题:简述进程和线程的根本概念、Java实现多线程的两种方式〔继承thread类创立线程类、实现runnable接口创立线程类〕,通过两个工程〔多线程计算素数、多线程计数〕讲述Java多线程技术的实现细节。2.Java网络编程根底专题:简述网络编程根底知识后〔难度不超过计算机导论课程要求〕,通过两个客户端/效劳器工程〔素数判别、猜数字小游戏〕讲述Java网络编程技术的实现细节。3.Android开发专题:简述Android系统体系构造、Android应用工程及构成、开发环境搭建后,通过两个工程〔简易计算器、音乐播放器〕讲述Android开发的细节技术。专题知识局部不仅是Java语言和技术的应用,也能锻炼学生从工程整体的角度把握Java技术的才能。通过专题知识的学习后,学生能完成实验任务里设置的同等难度的工程。

〔三〕其他教学方法

1.教学案例的设计应注重兴趣性、更贴近生活。例如,Java程序设计课程采用的课堂案例包括:用Java及面向对象模拟大学课堂;用Java及面向对象设计多个类表示?出师表?中的人物,设计属性和方法,类和类之间的继承关系,程序能输出整篇?出师表?;用抽象类或接口实现鲁提辖梯度、但不必遵循和尚的所有行为〔吃斋、念经、打坐、撞钟等〕。

2.为了改变学生拖沓的陋习,所有课后作业和实验报告均通过网络教学平台提交,设定截止时间;在OJ系统上布置的在线理论作业,也设定截止时间;截止时间过了,就不能提交了,这局部平时成绩就没有了。

3.培养学生查阅JDKAPI等帮助文档的习惯。在软件开发中,防止不了频繁查阅帮助文档,而这一点对在校学生来说是个障碍。除了在课堂教学时反复演示通过JDKAPI查阅JDK类的用法外,还在实验报告中设计一些需要学生独立查阅API文档才能完成的实验任务。

4.培养学生写文档注释的习惯。文档注释是Java中的一种新的注释类型,在Java工程中适当位置编写文档注释后,可以通过javadoc命令〔或IDE开发工具中的菜单命令〕生成一份系统的API文档。

四教学效果及完毕语

本文针对Java程序设计课程提出的教学改革思路,在根底知识局部引入在线理论和程序设计竞赛这些新颖的编程理论,可以进步学生的兴趣,专题知识局部以工程实训的方式引出后续三门专业课的根底知识。上述教学思路在重庆交通大学已连续施行3年,获得了非常好的教学效果。3年间,学生在重庆市大学生程序设计大赛〔团队赛〕上获得二等奖4个、三等奖10个,在蓝桥杯大赛〔个人赛,Java语言B组〕上获得国家二等奖1个、三等奖5个,省一等奖6个、二等奖11个、三等奖15个。另外,教学班的学生承当大学生创新创业方案工程市级1项、校级5项。在后续的教学研究中,笔者将在这种教学思路的根底上进一步探究新颖的教学方法。

参考文献

【1】夏红科.非计算机专业Java语言案例教学理论[J].中国电力教育,2022(35):123-124.

【2】卢冶,刘永良,张小立.面向应用型人才培养的Java课程群研究与/r

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论