社科大类“大学计算机基础”教学方法研究与情境案例设计
欧阳元新
面向核心素养的信息科技教育注重对学生计算思维的培育,以及“综合应用”和“问题解决”等高阶能力的发展,突出在具体情境中开展教育而非简单的机械操作。[1]北京航空航天大学“大学计算机基础”是面向非信息类一年级新生的信息科技类基础课程,旨在通过系列案例讲解、课堂研讨和上机实践,帮助学生理解计算思维,掌握使用计算机解决实际问题的一般方法,为各专业领域的创新活动奠定坚实的基础。其中社会科学大类教学班由法学、经济学、行政管理专业学生组成,文科生源约占80%。
社科大类学生高阶计算机能力培养目标
随着信息社会的发展,信息素养和人文素养、科学素养一样,已成为现代人必须具备的核心素养,其代表的是信息获取、信息鉴别和信息利用的意识和能力。而计算思维是信息素养的核心之一,其在学生综合素质中的位置将越来越重要。根据修订后的布鲁姆认知目标分类体系[2],分析、评价和创造属于高阶的思维能力,学生应能够:①将信息分解,以探究、理解、发现其中的关联,完成对比、组织、解构、提问以及探寻;②对行为决策进行理性评价,完成校验、假设、批判、实验和判断;③创造出新想法、新产品或看待事物的新方法,完成设计、构建、计划、创造以及创新。
在对法学、经济学、行政管理专业研究方向进行调研之后,本课程组将社科大类学生高阶计算机能力培养目标定位为掌握探究社会问题的科学研究方法、具有良好的科学和人文素养、具有自我发展和自主学习能力三个方面。同时,确定了课程的目标与任务,即按照问题求解的方式表述教学内容和实施教学,引导学生理解如何使用计算机解决现实中的社会科学数据分析问题,学习使用Python语言进行数据处理、自动分析和结果展现,能够使用常用工具软件完成社会科学数据分析报告和成果展示。具体教学目标可分解为以下五点:
①了解计算思维,具备基本的运用计算思维思想解决数据分析问题的能力;
②理解算法的概念,了解基本的算法控制结构,逐步理解使用计算机求解问题的一般方法;
③能使用Python语言实现基本的程序设计;
④能够运用Python语言进行数据自动分析和结果展现;
⑤能够使用常用工具软件的基本功能,具备通过自学掌握其他高级功能的能力。
以解决社会科学数据分析问题为导向的项目式教学方法研究
信息技术学科具有理论性、工具性和实践性并重的特征,正因为如此,《普通高中信息技术课程标准(2017年版)》提出“倡导基于项目的学习方式,将知识建构、技能培养与思维发展融入到运用数字化工具解决问题和完成任务的过程中”。[3]项目式学习是一种基于构建主义思想的学习模式,强调以学生为中心,让学生在真实问题情境中探究学习。根据文献得知,境外项目式学习主要集中于高等教育(大学本科)阶段的工科类及科学相关专业。有研究表明,项目式学习的运用能够优化教学效果,提高学生兴趣。[4]
在过去两学年的教学过程中,本课程组已在社科大类的教学过程中进行了项目式学习的初步尝试(如下图)。在学期初,安排学生从自己的大类学科领域出发,寻找一个可以通过数据统计学方法或者大数据方法求解的问题。在课程的学习过程中,逐步掌握使用计算机求解计算问题的方法、数据文件的访问方法、数据分析结果的呈现方法,最终通过设计大作业海报和答辩环节,展示项目的成果。
基于真实情境的教学与实践案例设计
由于选课学生中的文科生源比例较大,与理科和综合改革生源相比,他们在高中阶段接受的形式化逻辑训练偏弱,所以不少学生在学习编程语言的时候遇到了较大障碍。为了避免“以信息学科的教学方法培养非信息专业学生”,本课程教学实施中强调情境教育和案例化教学。考虑到在本课程开设的春季学期,同时还安排有一定数量的法律类课程,课程组设计了一系列与刑法相关的教学和实验案例,将程序设计与问题求解紧密结合,让學生的注意力回归到需要解决的问题本身,进而引导他们像计算机专家一样思考、理解和解决问题。
考虑到教学内容和题目设计难度较大,案例情境较现实情况有一定程度的简化。例如,在我国的法律体系中,由全国人大及其常委会颁布的为“法律”,由国务院颁布的为“行政法规”,由最高法、最高检颁布的为“司法解释”。简言之,以“法”结尾的一般为法律,以“国务院”开头的或者以“条例”结尾的一般是行政法规,以“最高人民法院”或者“最高人民检察院”开头的一般为司法解释。上述“开头”和“结尾”可直接作为Python字符串和列表索引位的教学案例。此外,在Python字典类型的教学过程中,以往使用的是{姓名:电话}等相对生活化的案例,而在刑法分则相关文献中,引用刑法法条往往只标明序号(如第一百零二条对应“背叛国家罪”等),可以使用{序号:罪名}生成字典,进而实现通过序号查找相应的罪名。以下案例则是给学生留下深刻印象的上机实践案例。
实践案例1:故意毁坏公私财物立案追诉判定。
对应知识点:条件分支与复合表达式。
案例情境:根据我国刑法,故意毁坏公私财物,有下列情形之一的,应予以立案追诉:造成公私财物损失5000元及以上的,毁坏公私财物3次及以上的,纠集3人及以上公然毁坏公私财物的。如果有热心市民向民警举报有人故意毁坏公私财物,请帮忙算一算是否立案侦查。
案例说明:本案例帮助理解复合表达式和分支语句的使用方法。首先分别输入造成公私财物损失数额、毁坏公私财物次数、纠集人数(均使用整型变量存储),之后使用分支语句对是否符合立案侦查的条件进行判断,并输出。为了增加程序的可读性,建议使用复合表达式来描述是否满足立案三个情形(条件)之一。
实践案例2:案件是否受到刑修十的规制。
对应知识点:字符串split方法、字符串排序与数值排序。
案例情境:《中华人民共和国刑法修正案(十)》(简称《刑修十》)由中华人民共和国第十二届全国人民代表大会常务委员会第三十次会议于2017年11月4日通过,中华人民共和国主席令(第八十号)于2017年11月4日公布,自公布之日起施行。请设计一个程序,使得给出一个输入时间(年-月-日),可以输出该时间发生的刑事案件是否受到《刑修十》的规制。
案例说明:本案例帮助理解字符串split方法和列表自动生成器的用法,以及字符串排序和数值排序的区别。首先使用split方法,将以“-”分隔的输入字符串转换为字符串列表,之后使用自動生成器转换为整型列表,并进行时间大小的判断。本案例如果直接使用字符串比较大小,则可能出现“2017-9-1”大于“2017-11-4”,导致判断错误。
实践案例3:数罪并罚的最高刑期与最低刑期。
对应知识点:max、sum函数。
案例情境:根据我国刑法,我国有期徒刑的期限为半年到十五年;在数罪并罚的情况下应当在各个罪名总刑期以下,数刑中最高刑期以上,酌定决定执行的刑期。但是有期徒刑总和刑期不满三十五年的,最高不能超过二十年,总和刑期在三十五年及以上的,最高不能超过二十五年。现在某被告触犯了若干种罪名,每个罪名要被判处有期徒刑若干年,请计算出他可能面临的最高刑期与最低刑期。
案例说明:本案例在生成存储数刑刑期的整型列表之后,需要分别使用max和sum函数得到数刑中的最高刑期(即总刑期的最低刑期)和总和刑期,再进行最高刑期的判断。由于文字叙述上有容易混淆的点(如总刑期、总和刑期、最高刑期等),学生在抽象判断条件的过程中遇到了不小的麻烦,因此部分同学耗时较长。
结语
随着计算机科学的不断发展,前沿技术(特别是大数据、人工智能)与各专业领域的结合已经成为当前的应用推广热点。人工智能时代不仅仅需要专业的科研人才,同样需要具有创新意识的交叉学科应用推广人才,这其中也包含与社会科学的交叉人才。同时,越来越多的创新活动也需要跨领域的协同合作才能完成。因此,在本课程的后续建设过程中,将逐步帮助学生建立对计算机科学的深度理解,并在实践中着重培养他们在现有科技成果基础上的集成式(合作)开发能力,让他们从大一开始就具有“人工智能+”的意识,这也是新时代对本课程提出的更高要求。
参考文献:
[1]教育部基础教育课程教材专家工作委员会.《普通高中信息技术课程标准(2017年版)》解读[M].北京:高等教育出版社,2018.
[2]Center for Advancing Teaching and Learning Trough Research. REVISED Blooms Taxonomy Action Verbs[EB/OL]. http://www.northeastern.edu/nuolirc/wp-content/uploads/2018/01/Blooms-Taxonomy-Handout.pdf
[3]中华人民共和国教育部.普通高中信息技术课程标准(2017年版) [M].北京:人民教育出版社,2018.
[4]张文兰,苏瑞.境外项目式学习研究领域的热点、趋势与启示——基于CiteSpace的数据可视化分析[J].远程教育杂志,2018,36(05):91-102.