宁云智,裴来芝,刘东海
(湖南铁道职业技术学院,湖南株洲412001)
ASP.NET 技术已成为Web 应用开发的主流技术之一,受到广大Web开发人员的喜爱,很多Web开发人员使用ASP.NET 技术开发动态网站。ASP.NET 技术已被广泛应用于电子商务、电子政务、远程教育、网上资源管理等领域[1]。“ASP.NET程序设计”是软件技术专业的一门专业核心课程,是一门实践很强的课程。作为C#程序设计、网页设计与制作、数据库应用与应用SQL Server的课程的后续课程,主要在于培养学生应用ASP.NET 技术进行Web 应用程序开发的能力,并培养其良好的编程规范和职业习惯。
通过本课程的学习,学生应掌握.NET 开发环境的搭建、布局设计、数据库编程等基本方法;培养学生掌握Web 应用程序开发的基本方法;培养学生应用ASP.NET技术进行中小型Web应用程序开发的能力,能基本胜任Web 程序员的岗位。在课程的学习中,培养诚实、守信、坚韧不拔的性格,培养善于沟通表达、善于自我学习、具备团队协作的能力,并养成规范的编码、按时交付软件等良好的工作态度。
肺炎疫情期间,为响应教育部“停课不停教,停课不停学”的号召,湖南铁道职业技术学院利用国家教学资源库、省级教学资源库和校级教学资源库等网络资源组织全体老师利用在线教学平台开展线上教学。“ASP.NET程序设计”课程团队为了提高在线学习效果,在教学内容、教学设计和教学方法上进行了改革和优化。
由于新冠肺炎疫情的影响,绝大多数学校的课程教学全部改为线上教学:一些课程利用腾讯课堂、钉钉等直播平台开展直播教学;一些课程利用已建设好的慕课+直播进行混合式教学;还有一些课程则是利用慕课平台已有课程资源组建自己的SPOC 进行线上教学。利用直播平台进行直播的大部分课程是将线下教学原样搬到线上实施,另外两种基本上也是采用原来的教学设计在实施。不管使用哪一种方式,都要求学生能自觉参与学习,才能达到教学效果,而同学们真正参与学习的比例不高。“ASP.NET程序设计” 课程是一门实践性很强的课程,对于计算机类专业的同学都有电脑,完成实践任务基本可以实现,关键点是师生没有见面,不能及时得到学生的学习反馈信息,有些同学在平台上显示在线,点名回答问题时半天没反应。
“ASP.NET程序设计”课程线上教学资源较少,在智慧职教平台的MOOC 学院只能找到2 门课程的资源,在中国大学MOOC 平台只能找到7 门课程的资源。通过查询结果可以看出,“ASP.NET程序设计”课程在线教学资源非常少。
线上教学与线下教学在沟通的时效性、教学内容颗粒度的大小和时空上都存在比较大的差异[2-3],线下教学的教学设计不能照搬用于线上教学,教师要根据线上教学的特点重新进行教学设计。“ASP.NET 程序设计”课程团队从线上教学平台、教学形式和教学实施等方面进行重新设计。
线上教学资源展示平台有很多,主流平台有华文慕课、学堂在线、智慧树、爱课程(中国大学MOOC)、智慧职教、超星尔雅等,可以根据需要选择合适的、开放的平台;在线直播平台有腾讯会议、钉钉、雨课堂、QQ 视频电话等,每个平台都有自己的优点和不足。“ASP.NET程序设计”课程选择智慧职教+钉钉进行在线教学,使用这两个平台基本能满足该课程的线上教学需求。
“ASP.NET 程序设计”课程设计思路是以一个Web 应用系统——网上书店的开发为主线,采用“项目+任务驱动”教学法探讨如何应用ASP.NET 技术开发Web 应用系统。选用网上书店作为开发项目,重点介绍了网上书城的8 个主要模块:用户注册模块、用户登录模块、网站访问计数器模块、图书信息查询模块、图书信息浏览模块、购物车模块、购物结算和订单查询模块、后台管理模块的设计和各个模块的整合,功能模块图如图1所示。将ASP.NET的主要对象和控件合理地分解到各个模块中予以介绍,这样使学生不仅掌握了知识本身,同时也掌握了知识的具体应用。
“ASP.NET程序设计”课程在线教学采用“钉钉群直播+QQ 群答疑+智慧职教平台“的教学方案。课前教师通过智慧职教平台发布电子教材、教学PPT、知识点的微课、习题等资源,提前发布学习任务让学生明确下次课要学什么内容,学习任务以文档形式发布,文档中有上课要求、上课内容和学习预期效果,教师利用智慧职教平台设置好五个一,即一次签到、一个讨论、一个头脑风暴、一个测试、一次作业;学生通过智慧职教APP查看学习任务单,了解下次课的学习任务,学习平台上的微课进行课前预习,标记存在困难的地方。课中教师利用钉钉软件直播需要重点讲解的知识点,在线直播经常出现学生显示在线,但不知道做什么去了的情况,为了监督学生是不是在网络的另一端在听课,建议老师们采用随机点名回答问题形式来监督学生;学生在课中完成签到、讨论、头脑风暴和测试的内容。课后教师根据学生完成的课堂测试及作业的情况,利用QQ 群进行答疑,对于普遍存在的问题建议利用钉钉语音会议进行答疑。智慧职教平台作业的批改很方便,客观题平台可以自动进行批改,主观题由老师手动批改,对于不合格的作业可以退回让学生重做。教师可以通过智慧职教发布问卷,了解学生对课程的学习情况,教师根据了解到的情况适时调整教学实施。
图1 网上书店功能模块
以用户注册模块内容为例介绍线上教学的组织,课前将用户注册模块的电子教材、教学PPT、用户注册页面设计的微课、用户注册数据验证的微课、检测用户名的微课和20 道习题在智慧职教平台发布,在智慧职教平台上设置好讨论问题、头脑风暴问题,上课前一天发布学习任务,要求学生完成课前预习任务并完成6 道课前测试题。课中,首先学生提前5 min进行图形签到,每次使用不同的图形,监督学生必须准时到在线课堂,然后使用钉钉直播。
2.3.1 用户注册界面设计
课前同学们已经观看了用户注册界面的设计,直播时强调一下用户注册界面设计容易出错的地方是利用表格对齐和控件属性的设置。讲解完之后同学们完成用户注册界面并提交到课堂作业1。
2.3.2 用户数据验证
通过RequiredFieldValidator 控件来验证文本框中输入的内容不能为空。使用CompareValidator控件对密码与确认密码是否相等进行验证。
2.3.3 使用程序代码实现验证
讲解运用如下代码程序实现不能空为验证功能。使用如下代码比较两次输入的密码是否一致功能。
直播至此,同学们完成用户注册页面上的验证功能并将结果提交到课堂作业2。
2.3.4 实现用户注册功能
实现注册功能就是将新用户在注册时输入的用户信息保存到用户表,等同于在数据库中执行插入操作。程序代码如下。
protected void btn_Register_Click(object sender,EventArgs e)
{
SqlConnection SqlCon = new SqlConnection();
SqlCon.ConnectionString ="server=.\sql2012;database=’网上商城’;integrated security=sspi";
SqlCommand SqlCom = new SqlCommand();
SqlCom.Connection =SqlCon;
SqlCom.CommandText = "insert into 会员表(会员名,密码,姓名,性别,出生日期,联系地址,邮政编码,联系电话,手机,身份证号)"
+"values(’"+ this.txt_User_Name.Text +"’,’"+ this.txt_User_Pwd.Text +"’,’"+ this.txt_Rel_Name.Text +"’,"
+"’"+ this.DDL_Sex.SelectedItem.Text +"’,’" + this.DDL_Year.SelectedItem.Text + "- " + this.DDl_Month.SelectedItem.Text + "- " + this.DDL_Day.SelectedItem.Text +"’,"
+"’"+ this.txt_Address.Text +"’,’"+ this.txt_Postalcode.Text +"’,’"+this.txt_Tel.Text +"’,"
+"’"+this.txt_Mobile.Text +"’,’"+ this.txt_ID_Card.Text +"’)";
try
{
Con.Open();
Com.ExecuteNonQuery();
this.Labinfo.Text = "恭喜您注册成功!";
Con.Close();
}
catch(SqlException)
{
this.Labinfo.Text = "对不起,注册失败,请重试!";
this.txt_User_Name.Focus();
Con.Close();
}
}
直播结束前10分钟,同学们完成课堂测试题。
课后同学们完成课后作业并提交,完成学习情况反馈调查问卷,有疑问随时在QQ 群咨询。教师根据同学们作业情况和测试情况,使用QQ 群进行问题讲解并答疑。
肺炎疫情期间,线上教学发挥了非常大的作用,成为绝大多数高校的主要教学方式,与传统线下教学相比各有利弊,线下教学师生面对面,老师对学生的学习情况能更直观地了解;线上教学依赖课程的网络资源,因此线上教学能促使老师们建设课程资源,对课程设计要求更高,对同学们的自主学习意识要求更高[4]。线上教学老师一定要监督学生按时完成学习任务,在线上多设计一些课堂活动,让学生由被动变为主动来学习。线上教学能直接使用的经验还比较欠缺,需要老师和学生不断地总结与交流,形成一些线上教学的实践经验,为线上教学的实践经验添砖加瓦。