当前位置:首页 期刊杂志

信计专业计算机类课程“以学生为中心”可持续性课程设计研究

时间:2024-05-04

尚宝欣 宫以赫

摘要 :C语言与数据库是信息与计算科学专业两门重要的专业课,旨在提升学生利用编程解决实际问题的能力。本文从“以学生为中心”和可持续性两个角度出发,将两门课程的课程设计联系起来,将数据库课程设计作为C语言课程设计的一个延续与强化,以期提升实践教学效果。

关键词:以学生为中心  可持续性  课程设计研究

1 引言

随着计算机技术的快速发展,计算机在社会生产、生活各个方面得到了越来越广泛的应用。公司、社会的发展对编程人才的需求迅速增加,这在一定程度上促使了社会对各行各业人才的计算机技能提出了更高的要求。

我院信息与计算科学专业的目标之一是使学生通过4年的本科学习能够具有使用计算机技能初步解决一些实际问题的能力。为此,学院开设了C语言、数据结构、面向对象程序设计、数据库等计算机特性明显的课程。我们期望学生通过对这一系列计算机相关课程的学习,能够提升对计算机的认识,能够掌握基础的编程语言及相关的编程技巧,能够掌握算法设计与分析的基础理论知识,进而能够设计一些数值算法和/或非数值算法来解决小规模问题。

为了切实提升学生在计算机方面的实践操作能力和利用计算机解决实际问题的能力,学院为上述每门课程配套了课程设计。课程设计一般是指在大学课程中,在课程临近结束时,布置给学生的一个综合性实践教学环节,一般会单独计算成绩,作为学生相应课程实践能力的一个评价。我们也是把课程设计作为一个独立的课程来进行的,会给学生单独的课程设计成绩,以此来引导和激励学生在实践环节付出应有的时间与精力。

《C语言》课程作为理学院大一学生的专业必修课,其宗旨在于传授学生基本的编程知识,培养学生基本的编程素养,为学生将来利用编程相关知识完成工作打下良好的基础,为后续计算机相关课程的讲授提供辅助。

《数据库》是介绍数据管理和处理的一门综合性较强的计算机类课程,其目的是帮助学生了解基本的数据库相关知识,掌握基本的数据库编程原理与方法,为学生更好地理解和处理数据提供帮助。

本文考虑将《C语言》与《数据库》的课程设计过程联系起来,使后者的课程设计不仅能够训练、锻炼学生运用数据库相关知识解决小规模问题,而且能够强化学生对C语言知识的理解与运用,最后使学生能够较为牢固地掌握相关知识,较为深刻地理解使用数据库统一管理数据的好处。

2 “以学生为中心”课程设计的研究

为了让学生能够愿意、顺利地进行课程设计,能够从课程设计中切实收获知识与能力,我们从学生现有知识基础、编程能力、文档编写能力等方面进行考量,在选题方面和课程设计成品方面进行了思考,以期学生可以更好地完成课程设计。

2.1选题方面的思考

从学生愿意主动去完成课程设计的角度来考量,我们的选题内容尽量贴近生活,尽量具有趣味性、实用性,尽量让每位同学都能对所选题目有一定程度的理解,能够切实地地融入课程设计的过程。从而达到用兴趣和功用去引导学生进行学习、激发学生完成课程设计的主观能动性的目的。

从学生现有能力的角度来考量,选题规模与功能具有短期可实现性。我们课程设计是课下分散进行,从学生确定题目到最后上交文档进行答辩,一个周期一般是一个月的时间。若问题的规模太小、涉及的知识过于基础或较为单一,会导致问题对应的程序太易实现,从而容易使学生产生该问题缺乏挑战性,可以不用十分努力去对待的轻敌思想和惰性思维,这样会弱化课程设计的作用。若选题规模过大或功能过于繁杂,会使某些学生短期难以抓住问题的关键,进而产生畏难情绪,最终会影响课程设计的整体进度。

从对培养学生思维的角度来考量,选题不能过于简单,要有一定的难度,要留有让学生自主、努力思考的空间,让他们在一定时间的思考下能较好的完成选题内容要求。这里培养思维主要偏重于学生对所学的C语言与数据库的基础知识、基本技能和常用技巧的掌握与灵活运用上,要让学生做到学有所得、做有所得、思考有所得。

从对课程设计的目的与意义来考量,选题知识覆盖面要足够广,要能覆盖较为基础、常用的知识点。我们的考虑是,在选题步骤中,要侧重加入以后工作中可能会使用频率较高的基础知识,为学生毕业之后融入现实工作提供基础,进而强化学生在未来工作中相关知识方面的适应能力。

2.2课程设计过程方面的思考

为了引导学生更好地完成课程设计中的程序设计及文档编制工作,我们提出学生完成课程设计过程中的主体目标要求,便于学生作为参考,并在课设进行过程中做好监督与服务工作,协助学生进行学习、总结。

程序设计方面。我们要求学生的程序需按结构化程序设计的方法去编写,要努力做到所写源代码具有较强的层次性和模块化,尽量提升程序的可读性和可维护性,让程序的读者能够较不费力地看出程序各部分的功能,为后期程序的修改和维护奠定基础。

要求所设计的各模块要有较强的内聚性,尽量减少其与其他模块之间的耦合性。尽量避免使用全局变量、局部函数,要努力使用指针、文件,使程序尽量真实地模拟现实应用,最大程度上具有通用性。

文档编制方面。我们给学生提供了课程设计任务书和课程设计报告的模板。任务书的目的是进一步明确课程设计过程中所需要使用语言知识、工具软件及所完成课程设计的要求。课程设计报告的模板主要是在学院所发布的模板的基础上,考虑课程的具体特性,进一步细化模板,使得学生在课程设计的过程中,更加容易的理解和遵照模板要求,以期引导学生按模板思考与执行的能力。

3 可持续性课程设计研究

在往屆的课程设计过程中,我们通常的做法是将每个班级同学分组,之后为每组同学提供一个类似于小项目的题目,要求学生按指定标准完成。之前,由于这两门课程多数情况下是由不同的教师讲授,从而经常会选用不同的课程设计题目。这样在进行后一个课程设计时,学生几乎不可能再去思考如果纯粹从C语言的角度该如何解决该问题;再用C语言重写一遍的可能性就更小了。这样,学生很难真切的体会到数据库系统的优点与便利,从而会失去一次回顾复习C语言和比较学习文件系统和数据库系统优缺点的机会。为了更好地保证学生学习的连贯性、系统性、全面性,为了能够较好地提高学生分析问题、解决问题、比较不同工具优劣性的能力,我们期望选取一些合适的题目,它们同时适合作为《C语言》和《数据库》的课程设计题目,从而“强制”地让学生对所学知识进行比较分析,让学生能够更好地全面理解和掌握相关课程知识。

3.1选题中数据的考虑

课程设计的题目中要涉及需要存储至外部文件中的格式化数据。数据存储在应用中非常普遍,是学生学习编程语言时必须掌握的能力,这有助于他们将来适应真实的开发。这里我们主要考虑非数值性的数据存储,在C语言课设中,要求学生用结构体封装数据,之后用结构体数组或链表将数据组织起来,最后用文件操作对数据进行读写。

在数据库课程设计过程中,学生选用一个具体DBMS,通过SQL语句建立数据库模式,从而存储题目中所涉及的数据,再使用SQL语句对数据库进行查增删改等操作。与C语言相比,在数据库中进行这些操作是非常容易的,且不易出错,这样就对数据库的优点有较为直观的认识。

3.2选题中功能的考虑

为了明确使用数据库系统和使用文件系统存储数据的区别,我们在C语言和数据库课设所选题目中要求的功能是一致的,并且要求这些功能在两门课程设计过程中均以独立的函数形式来体现。

题目一致并不意味着C语言课设中的源代码不需要修改。实际上,在数据库课设中,我们需要添加或修改一些代码,主要有以下三个方面:

(1)需要添加C语言连接DBMS的代码,这一般可通过ODBC或直接用DBMS提供的动态库文件来实现。该过程对学生来讲是比较有挑战性的,特别是对于动态库文件的处理对学生来讲可能更难一些,因为在C语言的授课过程中,我们处理的都是头文件,库文件的连接是默认的选项,而在数据库课设中,一切都需要手动来完成。当然,该过程对学生来讲是一种绝好的锻炼机会,会让他们更深入的了解一些软件的编制过程。

(2)需要将C语言课程设计中的涉及外部文件操作的函数体做相应的修改。此时,一般需要将C语言课设中使用结构体数组或单链表作为数据中间存储单元对数据进行读写的代码改写为使用DBMS提供的API及对应的SQL语句来访问相应数据库的代码。通过这些操作,学生应该可以体会到数据库系统用来组织、存储和处理数据的便利性,也能感受到之前所写C语言程序有许多可以改进的地方。特别是数据库中SQL语句的一些统计功能,排序功能等等,会让学生真切地体会到在数据库课程设计时C语言代码的减少量,能感受到只需要将精力集中在功能处理上的轻松感。

(3)另外,在数据库课程设计中也要强调用户对数据的安全性与完整性控制,以期体现DBMS管理数据的便利性与安全性。在C语言课程设计中,一般不会对数据有安全性的要求;对数据库完整性的要求也比较低。这是因为用C语言直接实现数据的安全性对初学者来说较难,也不现实。这能在侧面体现数据库系统在数据管理方面的优势。

保持题目一致、功能一致,而要求在不同的课程中采用不同的技术来实现的好处有:

(1)能突出C语言和数据库课设各自的侧重点。C语言课设侧重于C语言基础语法知识的理解与运用。数据库课设侧重于数据库基本概念、基本理论的理解及SQL语句的熟练运用以及使用高级语言连接具体的DBMS。

(2)能够较为充分的复用C语言课设中的源代码,减轻数据库课设中的工作量,并使学生能集中精力于数据库的设计与数据库的连接。

(3)代码的阅读与修改的能力是衡量学生掌握知识程度的一个重要度量。在C语言课程设计的基础上去完成数据库课设,需要学生仔细阅读原来的源代码及准确定位至需要修改的位置并进行正确的修改。这有利于学生进一步提升代码的阅读能力和修改能力。

4 结语

为了提高学生的编程实践能力和利用它们解决问题的能力,我们切实从学生的角度出发,为《C语言》和《数据库》选择合适的相同的课程设计题目,将《数据库》课程设计作为《C语言》课程设计的合理延续,从而激发学生积极思考不同技术的优缺点,提升学生对所学知识的理解与运用能力。

参考文献

[1]王悠,张熙,罗文田.电子基础课程设计教学研究與改革[J].读与写杂志,16(12):50-51.

[2]彭志锋.梅西大学“以学生为中心”教育理念的启示——兼论中国-新西兰高等教育的差异[J].教育教学论坛,2020(06):319-320.

[3]赵玉兰,姜春风.基于双元制教学模式的信息技术专业课程设计[J].卫星电视与宽带多媒体,2019(24):21-22.

基金项目

本文系东北电力大学教改项目信计专业计算机类课程“以学生为中心”可持续性课程设计研究阶段性成果[项目编号:J201939]。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!