APP下载

程序设计课程体系的教学运行模式研究

2021-11-20卢云宏于京艳

电子技术与软件工程 2021年24期
关键词:程序设计题目基础

卢云宏 于京艳

(1.烟台大学计算机与控制工程学院 山东省烟台市 264005 2.烟台理工学院教务处 山东省烟台市 264005)

程序设计基础课作为计算机类专业人才培养方案中的专业基础课程,是其他专业课程学习的基础,其地位在计算机科学与技术和软件工程两个专业中尤为重要。应用型本科院校的新工科建设中,专业基础课程的教学改革是必须的,因此这个课程的教学一直走在不断创新改革的路上,在教学模式上完成从传统的教学模式到现代化教学模式的转换,即程序设计基础课程的期末考试由笔试到上机考试(简称机考)改革;课堂教学的形式采用案例式、线上线下混合式教学;充分利用程序设计基础课程的网络资源;使用并不断完善Online Judge 教学平台,创建试题库,并根据需求将题目分类,供程序设计及数据结构等相关课程的教学使用。将相关课程《程序设计课程设计》和《程序设计项目实训》一起构成程序设计课程体系,培养学生将零散的知识片进行融合,用程序设计的思想来解决实际问题以及综合性问题的能力,为后期的专业课程学习奠定基础。

1 课程体系建设的目标

学生在程序设计基础课程理论学习的基础上,掌握简单应用程序的编写方法,但基础知识与实际问题相结合的能力,以及理解力和动手能力都不足,需要通过实训实践课进一步的夯实基础,增强学生解决实际问题的能力,使学生初步具备开发软件项目的能力。加强实践教学环节,在线上线下相结合的教学模式下,利用OJ 教学系统,完善机考,同时合理融入实践示例,让学生将基础知识与实际问题相结合,加强学生理论结合实践的能力。

在程序设计课程的课程设计和程序设计项目实训课程制定学生实践的项目集,做到一个自然班的学生可以每个人都有一个独立的项目可以做。最终要求学生能够达到独立完成一个应用程序的设计、调试全过程,并以最终项目实训成果来证明其独立完成各种实际任务的能力,从而反映出理解和运用程序设计基础知识的水平和能力。首先指定完善的教学计划和大纲;其次提供丰富的案例式项目、实际项目,指导学生进行实训项目的分析、算法设计、编程、测试以及实践报告的撰写。让学生能够从案例式项目实训中学会如何开发一个应用程序;再次为授课教师提供教案与过程管理,解决教师的选项目难、实施监控难、考核难的问题;最后完善综合实践的题目设计,学生通过实践题目的完成,初步具备开发小型项目的能力,使程序设计基础课程与程序设计项目实训课程有效接轨。

2 主要的改革措施及具体实施情况

将程序设计基础课程与程序设计基础项目实训课程的实验分成验证型实验、应用型实验、设计型实验、综合型实践以及实际项目五个部分,学生在完成五部分实验后,可以达到不同的目的。

(1)验证型与应用型实验。这两种类型实验是由简单的实验题目组成,验证学生所学的知识与理论,并应用所学的理论知识解决问题。这类实验是在与理论课并行进行的实验课及课后进行的,与所学章节内容同步。验证型实验是单纯的用来验证理论知识在编程过程中的运用;应用型实验则是将这部分理论知识与实际问题相结合,这些问题属于简单的生活问题,重点考察某个或某几个知识点。这两部分实验完成后,让学生达到在巩固基础知识的同时学会编写程序。

(2)设计型实验。本类型实验涉及简单的数据结构设计与算法设计,放在实验课和课程设计两个阶段进行。内容将涵盖一章或几章。这类实验较之前面的两类实验难度有所提高,实验在完成的过程中,不是要求学生简单的将理论知识运用即可,需要将所学部分知识融合后,对题目进行分析,分步完成。完成实验后,学生可以学会将学到的理论知识前后融合,并将理论知识与实际问题有机结合,体验所学知识在实际问题中的应用。

(3)综合型实验。是在课堂教学和实验课结束之后或学期末进行的集中的综合设计,内容可涵盖课程的几章至全部。在这部分的实验中,学生必须将所有知识完全融合,在对实际问题进行分析后,找出解决办法,然后运用课程知识去实现,题目难度再次上了一个层次,为后面的项目训练打下基础。完成这部分实验后,是学生在掌握基础知识和编程能力后的再一次提高,在问题求解能力方面得到有效的锻炼。

(4)项目实训。项目实训是由实际的项目组成,完成一个或多个较为完整的项目案例。可在课程全部结束后进行。在完成综合型实验后,学生将具备分析问题、解决问题的基本思路和实现能力,在这个基础上,将实验题目再次加深,无论是小型的项目或者大型项目,其解决步骤是相通的。在这部分的练习中,可以规范学生在应用中解决问题的思路,启发思维,提高问题求解能力。

其中,综合实践与项目实训将使用在线平台(Funcode)进行题目的指导与过程监控,使用本校的Online Judge 平台进行项目代码的查重与实训报告的查重。

为了弥补理论课程和实践课程相脱节的问题,设计合理的实例体系,将其按纵向划分为基础、综合、提高三部分,分布在三个不同学习阶段,让学生在学习的过程中由浅入深的做到理论联系实践,快速掌握解决问题的能力。这三部分的实例要具有一定的关联性,综合部分是在基础部分上进一步加深,而提高部分则是在综合部分的基础上再深一步,在内容相关而问题不断加深的情况下,让学生在学习的过程中没有断层感,做到从基础到精通。

第一部分将理论知识点采用慕课形式进行,课程组将提前录制好的视频材料放到教学平台上,学生利用课前时间学习。课堂上增加案例教学,案例紧密结合慕课中的理论知识,学生通过案例讲解,可以很好地理解理论知识能够解决什么样的实际问题,进一步加强基础知识的理解和运用,为后面的实践课做好铺垫。

第二部考试题目中增加解决实际问题的小项目,既能考核学生对知识点的掌握情况,又能考核学生理论知识直接运用解决实例问题的能力,学生通过完成这部分内容而达到理论与实践的有机结合,因为都是小项目,还不能上升到实用阶段。

第三部分是在前两部分的基础上,增加实验题目难度,将企业运行中遇到的实用问题纳入到实验中,学生在完成实验的过程中,能够综合使用所学知识解决复杂的实用问题,初步认识所学专业在实际生活生产中的运用,以弥补以上两个阶段的不足。

对上面的每一部分按横向再划分为三个层次,分别为初级、中级和高级,针对学生学习能力和接受能力不同分别进行实施,这样可以有效的保护学生学习的积极性,不至于上来就遇到太难得题目无法解决而打击对学好该专业自信心,内容逐渐加深,学生在逐级完成的同时培养起学习的兴趣,做到因材施教。

3 实践效果

在新教育模式下程序设计项目实训课程的教学运行研究及实施,即弥补程序设计基础课程的理论部分与实践部分不能无缝衔接的缺点,同时提高学生理解和运用程序设计基础知识的水平和能力,进而提高了课程的教学质量。通过平台的合理运用、题目库的建设以及实践课程的规范,即减轻了教师的工作压力,又提高了工作效率,并且使得该课程达到“新工科”工程教育专业认证的要求。

整套课程体系运行下来,学生程序设计能力总体得到很大提高,不仅理论知识掌握的更加牢固,同时能运用自如的解决实际生活中的很多问题,通过实践课程的训练,提高了学生分析问题解决问题的能力。通过这两年学生参加大赛取得成绩,可以量化教学质量提高的程度,学生大赛获奖的层次和奖项都得到前所未有的突破,推进了专业在全国高校的排名。学生通过程序设计基础课程设计和项目实训课程的学习,提高了程序设计的积极性和主动性,很多学生主动加入ACM 实验室,整体带动学生的专业学习风气,形成一个良性循环。

开放式的程序设计基础项目实训的平台的建设,有效解决教师在课程设计或项目实训课程上选题难、过程监控难、考核难的现状,即提高了工作效率,又提高了专业的整体教学质量。

4 课程体系的特色及创新

通过在教学过程中的多轮迭代和研究,实训题目具有了时变性、多样性、典型性、可持续性、代表性五种特征,可以更好地做到因材施教,更好地培养了学生的分析问题、解决问题的问题求解能力。将生活实际中的复杂问题抽象、化简后作为实训项目,学生在完成的过程中提高成就感,同时为学生以后真正解决实际中存在的复杂问题做好衔接铺垫。为后期的专业课程学习起到导引作用。

设计合理的实例体系,将实例体系进行纵、横划分。为让学生在学习的过程中理论联系实践,快速掌握解决问题的能力,将其按纵向划分为基础、综合、提高三部分,运用到学生的三个不同学习阶段。将三部分实例关联起来,使得学生在学习的过程中没有断层感,做到从基础到精通。每一部分按横向再划分为三个层次,分别为初级、中级和高级,针对于不同的授课对象根据其学习能力和接受能力分别进行实施,做到因材施教。

5 存在的问题及今后工作方向

问题主要出在实践题目上,题目主要存在五个问题:

(1)题目的推陈更新,时变性。计算机是一个高速发展的行业,教学需要跟上社会的发展,因此对于实践课程题目需要做到不断地更新,做到与时俱进;

(2)题目的多样性。要想提高学生程序设计能力,必须通过多样性的题目训练,从而提高解决实际问题的能力。学生可以根据自己的喜好在多样性的题目中,选择适合自己或者感兴趣的题目,进行研究解决,同时给予学生启发,发现生活中可以用计算机解决的实际问题,达到将知识灵活运用的目的;

(3)题目的典型性。实践的题目要做到反复推敲,起到举一反三的效果,打磨出一批经典题目,既要结合实际生活问题,又要能体现程序设计用到的典型方法、算法等;

(4)题目的可持续性。在题目内涵不变的前提下,对外延进行与时更新,从而提高题目的生命周期,这类题目要求做到题目不变,但其实现的手段、技术可以不断的更新,重点是让学生通过做这类题目获得问题求解能力。

(5)具有代表性的题目。所有的题目都来之于生活,但要从实际问题中寻找到具有代表性的题目的难度在不断地增加,这类题目要求重点锻炼学生的算法能力或者编程能力。这几个题目问题将是以后课程中的重点,只有实践题目具备了以上五个特性,才能更好地达到课程培养学生的目标。

今后的工作方向:针对目前课程中存在的问题,对新的人才培养方案进行改革,将原来的程序设计基础课程两册理论课程改成理论加实践两部分,理论部分放到第一学期讲解,实践环节部分放到第二学期。实践环节则根据学生对课程掌握情况不同,分成两个同步实践课,一个是程序设计提高实验,面向基础相对薄弱的同学,通过实验使学生能够熟练掌握和应用C 程序的基本知识,培养学生分析和解决实际问题的能力,初步培养学生解决复杂工程问题的能力;另一个是问题求解策略训练,面向拔高同学,使学生在具备基本程序设计能力的基础上,充分利用C 程序知识对典型问题求解的策略进行训练。培养学生建立算法思维,并运用到问题求解中,增强学生分析和解决实际问题的能力。通过这种改革做到因材施教,从而提高专业基础课程的教学质量。在重视实践教学的指导思想下,持续加强基础能力的培养,以提高学生对于课程学习的积极性和应变能力,最终达到培养目标。

猜你喜欢

程序设计题目基础
“不等式”基础巩固
“整式”基础巩固
基于Visual Studio Code的C语言程序设计实践教学探索
关于题目的要求
从细节入手,谈PLC程序设计技巧
高职高专院校C语言程序设计教学改革探索
追根求源
PLC梯形图程序设计技巧及应用
“五抓五促”夯基础