彭东海,袁辉勇,余焕杰,容浩杰,余 胜
(韶关学院 信息工程学院,广东 韶关 512005)
教育部从2017年2月开始展开了一系列研讨会,会议内容围绕“新工科”建设进行展开,从“新工科”建设三部曲“复旦共识”“天大行动”“北京指南”中不难看出,“新工科”建设日益成为高校改革新热点。高校对传统工科的创新性建设及“新工科”的推进建设在这些研讨会后有新思路和新方向。
新兴产业需要的人工智能、云计算、机器人等专业就是“新工科”专业,同时也包括了经历改造与升级后的传统工科专业。“新工科”专业设置将围绕以工业智能、互联网为核心,传统工科将以信息化建设为主要手段,对传统的原有专业进行创新性建设。在“新工科”模式下,人才培养的方式将有所改变,这就要求高等教育方式有所改革。“新工科”建设已成为高校研究的“新风向”,但一流高校对“新工科”研究大多比地方性本科院校更广泛、更深入,作为本科教育主力军的地方本科院校不应落后,应因地制宜,根据校内教师实际情况,加快对“新工科”建设展开研究与探索。
“新工科”背景下,人才的培养要紧紧围绕产业链、创新链展开,根据技术需求设立专业,根据技术所需改善内容,把能否自主学习新内容,能否合作解决新需求作为衡量毕业生是否达到企业需要的高层次技术人才的重要标准。传统的Java课程教学方式与教学理念不符合“新工科”对于人才的培养方向,不利于解决新经济对于新人才的需求问题[1]。
以往的课程模式是一种知识灌输的模式,只有教师作为主体进行输出,学生被动输入,无法即时地对知识进行加工处理然后再输出。学生只是被动思考,于是思维变得僵化,在处理实际问题的时候,反应变得迟钝,专业知识的应用能力出现欠缺[2]。
“新工科”背景下,学生不仅要有理论基础,也要有解决实际问题的实践能力,在解决市场新需求上有创新能力,在合作开发时有工程能力。教师应在有效的学时中将理论与实践相结合,提高教学效率,促进学生多维发展,鼓励学生自主学习、发散思维解决实际问题,考核标准以项目内容为主。教师在课堂上使用的项目案例可结合过往经典的项目与现代企业的实际项目。通过对比新老项目的不同,鼓励学生对老项目存在问题提出解决方案,理解现代企业是如何实现项目的设计与开发。学生通过这些项目案例能从根本上掌握知识,并将知识运用到实际,培养“新工科”建设需要的面对问题的实践能力、解决需求的创新能力、开发项目的团队合作能力等,满足未来企业对高层次新人才的高需求。
学术型教师知识丰厚,科研能力强,但工程实践经验、工程实践能力不及从企业聘请的兼职教师。因此,课程可由企业聘请的兼职教师和高校教师共同设计。由兼职教师和高校教师共同设计的教材有利于衔接实训内容和课程内容,有利于将工程实践和理论知识相结合,有利于有效培养学生工程能力,让学生能在做项目的过程中学习理论,能将所学理论投入到实际工程开发中。同时,因互联网改变了传统授课模式,教师不再是知识的唯一来源,学生对教师的依赖性减弱,故教师要从教学的主导者变成辅助者、服务者[3]。
“新工科”不仅强调问题导向,更是强调战略导向。“新工科”的建设必须以战略全局的眼界开展,利用战略眼光和战略思维,对理念转变进行提速;
教育改革的深化,不仅需要培养推动传统产业转型升级的当前需要的人才,还需要培养促进新兴产业、提升发展的未来需要的人才。“新工科”是一个更高层次的开放工程教育模式,要以开放促改革、促创新,对外加强国际交流与合作,对内推进工程教育资源开放和教育治理,加快形成对外开放与对内开放深度融合的共建共享模式[4]。
传统工科人才相对于“新工科”人才来说,工程实践性较弱、创新能力不足,且在经济、社会和管理上都不及其优秀。“新工科”需求的是人文素养更高,学科知识覆盖面更广、学习新技术能力更强且能快速将新技术运用到解决实际问题的高层次人才。
广东信息产业非常发达,信息类专业毕业生逐年增加,但是人才质量参差不齐且差距较大,难以满足新企业新专业日益增长的对全新多维人才的需求。由于信息类专业学生学习的专业知识是对原有传统专业建设与升级的手段,他们将成为信息工程技术行业的业务骨干和基层工作者,也是专业未来能否成功升级,能否成功转型的关键人物,所以各高校培养人才的质量直接关系到地方信息技术产业乃至当地未来社会的经济发展。地方高校与当地企业的融合度不够,很多高校在自身实验室建设中仅围绕课程进行实验室建设,实验条件资源不够,实验内容单一,缺少实践基地[5]。“新工科”背景下项目化课程体系的构建关系学校、关系社会,更关系于国家。计算机科学与技术是韶关学院的一个省级特色专业,以程序设计类课程为例探索项目主题,建立创新创业教育平台将学校、企业及学生三方相联系,加强培养创新创业教育意识,改进创新创业教育方式。专业教育在总体设计、教材、课程知识点、课程考核等方面将创新创业元素与专业知识融合,树立信息安全理念,优化培养工程技术人才,培养学生的创新能力,提高学生的综合水平,具有重要的现实意义。研究成果将对于同类型高校信息类专业教学改革、新时代信息工程技术人才培养起到一定的示范和带动作用。
项目化课程体系的构建是应用型地方本科院校实现创新创业深化改革的重要途径,该研究立足于地方应用型本科院校。根据当下实际发展需求制定相应的人才培养目标和培养方案,并根据专业特色、学校定位和学科知识内容有效地进行整合进而满足这些要求,这对工程类专业教学而言,无疑是一种挑战[6]。根据实践教学情况,以计算机科学与技术专业中的程序设计类课程为例,剖析当前“新工科”背景下项目化课程建设不够充分的一系列现状,结合专业教育,从学校、教师及学生3个层面出发,提出应对策略,为地方应用型本科院校提供新思路,将专业教育与项目式教学充分结合,提高学生就业能力,适应社会主义市场需求。基于应用型人才培养的特点,教师不但具有较高的学科专业理论和知识,还应具备丰富的实践经验及动手操作的能力[7]。
Java 是“互联网+”、人工智能等新兴产业的重要技术工具,其地位和作用显而易见。采用项目式教学可以使学生更容易掌握知识,在毕业后进入企业能迅速将所学投入项目研发,利于推动“互联网+”、人工智能等新兴产业发展。
课程创新了教学的总体设计,采用YY聊天室项目开发的教学方式,客户端需要实现用户界面、注册和登录、发送聊天信息和事件响应处理等功能,服务器端需要实现用户的注册和登录验证、使用服务线程接收和转发聊天信息,并保存在数据库中等功能。使用流程是先启动服务器,再进行用户注册和登录,最后是用户之间的聊天,实现了一对一、一对多和多对多聊天。该课程项目的总体框架可参考图1。
图1 课程项目总体框架图
Java程序设计在课堂教学中虽然采用了多媒体进行教学,但是教学形式依然是传统的模式,即教师在讲堂上讲,学生被动来接受知识[8]。
在纯粹的知识点讲授过程中,学生会感觉枯燥无味,影响学习积极性,因而为本课程设计了多个YY聊天室子项目,把各个知识点融汇其中来引导学生的创新思维。
项目的第一部分:初始化工程——登录界面。在创建登录界面时,将运用到继承、Swing图形界面 JFrame、JPanel、JButton、JLabel、JText-Field、JTabbedPane、GridLayout、JCheckBox、JPasswordField等知识点。项目的第二部分是创建好友列表界面,需要学生掌握Swing图形界面JScrollPane、CardLayout、ImageIcon,事件处理机制ActionListener、MouseListener 以及 MouseEntered。接下来是YY聊天室的最后一项内容——创建好友聊天界面,需要学生使用的知识点有:Swing图形界面 TextArea、JPanel、TextField、JButton、ImageIcon,事件处理机制MouseClicked、MouseExited等。聊天室的内容完成后,学生需要进行服务器端的搭建。其次是服务器端的登录验证——使用对象流。该功能需要的知识点有:网络编程(ServerSocket、Socket、ObjectOutputStream、ObjectInputStream)等,用户对象的传输等。项目的第三部分是一对一聊天功能,该功能要完成3个内容,分别是:实现多个用户同时向服务器发送聊天信息、服务器转发聊天信息、实现多对多聊天,即多线程。该部分需要使用较多的知识点,举例如下:序列化Serializable、多线程Thread、ObjectOutputStream、消息对象传输、多线程Runnable接口、HashMap。第四部分是操作数据库,实现激活在线好友列表图标、验证用户登录、获取好友数据更新好友列表、注册新用户及添加新好友、删除好友和更新好友列表、添加好友后自动更新好友列表以及保存好友聊天信息到数据库。
项目的每个部分将采用4个学时完成,共有11个实验教学设计。
(1)基于对象流在网络上传输user对象的实验教学设计。实现思路:先在客户端创建Object OutputStream对象,然后发送User对象到服务器端,使用ObjectInputStream接收。该实验教学让学生讨论如何基于字节的输入输出流转换为对象输入输出流。
(2)基于服务器端的登录密码验证的实验教学设计。实现思路:在客户端发送User对象到服务器端后,判断密码是否与之匹配,密码正确则发送回客户端登录成功的Message,否则登录失败。该实验教学将让学生讨论当登录成功或者失败时,客户端应如何响应。
(3)在一对一聊天中,基于多个用户同时向服务器发送聊天信息的教学设计。实现思路:通过两个用户登录连接服务器时建立的Socket对象,向服务器发送聊天信息,服务器再将聊天信息传达给双方。该实验设计需要学生思考服务器端如何区分不同用户的Socket对象。
(4)在一对一聊天中,基于服务器转发聊天信息的教学设计。实现思路:使用服务器通过在HASHMAP对象中找到不同用户的Socket,然后转发聊天信息,客户端在好友聊天界面中显示聊天信息。该课程实验设计需要学生讨论项目中如何解决由于Socket是static的,会被一个聊天窗口独占,因而一人不能同时与2人以上聊天的问题。
(5)在多对多聊天中,基于在聊天窗口中显示聊天信息的教学设计。实现思路与前面的管理线程的方法类似,可把聊天窗口放入到HashMap中统一管理,根据聊天信息中的发送者和接收者,来寻找信息的显示窗口。该课程设计需要学生讨论解决同一个聊天窗口不能多次打开以及聊天窗口必须先打开,才能接收信息,否则会报错,应该设计一个查看聊天信息的提示。
(6)基于激活在线好友列表图标的教学设计。实现思路:在客户端上线后,先向服务器发送一个请求获取在线好友的message,然后服务器就回送一个包含在线好友信息的message。该课程设计实验需要学生讨论解决目前新用户登录后能获取在线好友,但是用户不能获取之后登录的在线好友信息的问题。
(7)基于更新刚登录的上线好友列表图标的教学设计。实现思路:用户登录成功后,由服务器向其好友发送登录上线信息,好友接收到信息后,激活其图标。该课程设计需要学生讨论解决如何保存聊天信息。
(8)利用数据库注册新用户的教学设计。实现思路:若无同名用户,则在User表中添加新用户;
若有同名则显示该用户已经注册。该实验设计需要学生讨论解决新用户注册成功后如何添加好友。
(9)添加好友的教学设计。实现思路:需要在好友列表界面中添加“+”新按钮(对方同意功能先不实现),在relationship表中写入新好友的数据,如果已经是好友则加不成功,提示已经是好友,如果添加的好友名称在User表中不存在则显示该用户不存在。该课程设计需要学生讨论解决如何删除好友。
(10)删除好友的教学设计。实现思路:用鼠标右击好友,弹出确认框询问是否需要删除好友,若需要删除好友选择确定,否则选择取消。服务器在relationship表中删除该好友,更新客户端的好友列表。该课程设计需要学生讨论解决如何保存好友的聊天信息。
(11)好友聊天信息保存到数据库的教学设计。实现思路:新建聊天信息表message,增加保存message的方法。该课程设计需要学生讨论解决聊天中如何发送图片、文件及语音信息。
项目课程教学与传统课程教学相比发生了根本的变化,教学目标从掌握知识向培养能力转变、从以理论传授为主向实践导向转变、从关注外部输入向关注内部生成转变、从去情境学习向情境化学习转变[9]。该课程的考核形式将与传统课程的考核形式存在较大差异。周考核制度其实就是一种过程考核,能督促学生在整个学期内不断地进行项目迭代开发;
然后,期末考核是创新能力的考核,要求学生在项目中增加新的功能,需要对项目的整体很熟悉才能实现,并且考核过程中教师的工作量会增加很大,可能需要学院的支持和引入助教制度来解决。
过去的考核形式大多离不开纸质练习,不利于保存项目开发的内容。在评价学生综合能力的过程中,不仅要考查学生对基本知识的掌握,更要注重学生创新能力的培养和实践过程的考核[10]。和以往的考核形式不同,笔者采用Github开源软件和CSDN博客平台可以更灵活的保存进度,也利于学生共享自己的思路,有助于提高学生的学习能力,推动教学工作的进行。
课程要求学生利用Github做项目迭代开发过程中的版本管理工具,并在CSDN博客平台上发表自己的项目开发心得和创新体会,教师根据学生完成的情况,一般2周进行一次创新项目进度完成情况的考核。
期末以项目答辩方式的进行项目开发创新能力考核,要求开发一个新项目或者在YY聊天室的基础上增加3个以上新功能,并写出实现步骤,根据实现新功能的难易程度酌情给分,具体如下:
(1)可以增加新功能,比如:服务器端使用线程池为客户端提供服务,添加好友时增加对方验证的功能,把好友移到陌生人,基于数据库的新好友上线更新好友列表,删除好友、发送文件、发送图片、发送表情、语音聊天,屏幕抖动,增加后台的管理(停止服务器,增删改查)等。
(2)可以优化界面,如:实现手机号登录,电子邮箱登录,修改登录界面的图片等。
(1)课程采用YY聊天室项目开发实践教学的方式,从零开始创建客户端和服务器端,应用了Swing界面设计、网络编程、多线程和数据库程序设计等多种技术,能锻炼学生的项目开发综合能力和程序设计的高级思维。
(2)课程负责人编写了一本创新性的教材《JAVA基础应用与实战》,其中聊天室项目被分解成多个子项目贯穿在这本教材中;
把面向对象设计的知识点全面融入到各个子项目开发的教学中,实现了“在做项目时学习,学习后能做项目”,以这种看得到的成果的形式提高学生对编程的学习兴趣,锻炼编程和团队合作能力;
对于每一个子项目的具体实现,创新性地进行了研讨式设计,首先每个子项目需要完成的任务需要与学生阐述清楚并列出其中的难点,引导学生思考,然后将项目的实现思路及解决难题的思考方向与学生们进行讨论和分析,需要注意的问题和实验步骤,最后指导学生完成实验。
(3)周考核和期末创新考核:创新性的使用GitHub开源软件平台和CSDN博客平台对学生项目开发进行过程考核,平均2周一次的进度考核在整个学期推动着学生不断的学习和努力;
期末考核学生的创新能力,要求在教学项目的基础上开发一定数量新的功能,并采取答辩方式完成期末最终考核。
在当前创新创业的时代背景下,“新工科”的技术优势和创业技能的融合无疑是当前时代的大势所趋[11]。“新工科”背景下,产业逐渐向人工智能、云计算、机器人等高新技术方向转型升级,此时产业对“新工科”技术人才需求量大,但是毕业生水平参差不齐,总体质量不高,无法满足产业对人才的需求。在统筹规划计算机程序设计教学的前提下,在全校范围内,开出不同档次、不同类型的计算机课程,以满足不同专业、不同层次学生的需求[12]。经过对传统课程存在问题的分析,决定就现阶段课程所存在的问题建设项目化课程。该课程有利于提高程序设计课程的教学质量,提高学生的自主学习能力,丰富解决现实问题的思维能力,有利于完善人才市场的供需问题。
猜你喜欢新工科好友工科新工科下创新型人才培养的探索中国市场(2021年34期)2021-08-29新工科背景下项目推动式教学模式的探索科技创新导报(2021年34期)2021-04-13属羊小雪花·初中高分作文(2019年10期)2019-02-12删除好友杂文月刊(2017年20期)2017-11-13面向新工科的Python程序设计交叉融合案例教学计算机教育(2017年8期)2017-09-01新工科形势下高校二级学院毕业设计管理探索科技视界(2017年10期)2017-08-21新工科背景下大学生创新创业教育探索电脑知识与技术(2017年16期)2017-07-14工科概率统计教材中引入Matlab工具的探讨高师理科学刊(2016年8期)2016-06-15工科研究生教学模式的思考与创新无锡职业技术学院学报(2015年3期)2015-02-28雪花特快专递小雪花·成长指南(2009年10期)2009-12-04扩展阅读文章
推荐阅读文章
老骥秘书网 https://www.round-online.com
Copyright © 2002-2018 . 老骥秘书网 版权所有