基于电信业务的程序设计课程改革探索与实践

时间:2022-08-29 06:45:32

基于电信业务的程序设计课程改革探索与实践

摘要:本文针对我国大学程序设计课程教学中存在的问题,以通信工程专业为背景,提出将专业知识与程序设计课程相结合的改革思路,指出根据专业特点优化课程教案、丰富课堂案例的方法,介绍了电信业务硬件平台的设计方案,同时将实践环节与课程体系统筹考虑,设计从基础、提高到综合的完善的实验实践体系,并提出以项目为主线的实习组织方式,为非计算机专业的程序设计课程教学进行了有益探索。

关键词:程序设计课程;教学改革;实验教学;电信业务

随着计算机在各行各业的广泛应用,各专业领域都大量需要既具备专业知识又掌握计算机技术的工程技术人才,计算机程序设计课程正在成为理工科专业尤其是通信电子类专业的基础课,在学生未来的学习、科研以及职业生涯中起到重要的作用。然而,很多学生在学习了一门甚至几门程序设计语言课程之后, 编程能力依然十分低下,遇到实际问题时常常无从下手,因此,如何提高学生程序设计语言的应用能力,尤其是在本专业领域内应用程序设计语言的能力,是我们在教学中应该注重的问题。

中国石油大学通信工程专业在程序设计课程的教学实践中,从与专业应用相结合的角度探讨课程的改革,取得了良好的效果。

1程序设计课程教学的现状

目前程序设计课程教学存在很多问题:(1)教材选择的都是整齐划一的通用教材[1],教学内容没有结合自己的专业特点进行优化、补充;(2)内容偏重理论性,过分重视语法规则和语义,不自觉地把程序设计课程变成程序语法课程[2];(3)考核方式不合理,考察的试题不少是对不实用的怪、难、偏的语句语义的理解,导致学生把主要精力的放在了语法规则的背诵上,而忽略了编程能力的提高;(4)实验实践环节内容枯燥,不能与应用相结合。学生上机主要是检验课堂上讲的示例程序,或者做一些纯粹的绕来绕去的算法题,内容与实际没有太大联系,使得学生看不到计算机程序的强大威力和真正用处,逐渐丧失了兴趣和动力[3];而且学生上机实践以个体为单位,综合性设计性性题目较少,缺乏集体合作的实践环境,忽略了学生系统解决问题的能力和团队精神的培养。

在教学实践过程中由于忽略了程序设计语言与实际应用以及本专业相关知识体系的联系[4],导致学生为了学习语言而学习语言,看不到程序语言的具体应用,失去了学习程序语言的热情和动力,学习效率低下,语法记忆不清楚,算法理解不透彻,不能真正掌握程序设计的方法和技巧,达不到学习程序设计课程的目的。

2基于电信业务的程序设计课程改革

2.1课程改革思路

针对目前程序设计课程中存在的问题,将程序设计语言学习与学生自己的专业知识相结合,在学习语言的同时,一方面提高学生学习程序语言的积极性,另一方面也可以激发学生探求专业知识的动力。

中国石油大学通信工程专业程序设计类课程设有程序设计语言C、程序设计语言C++两门课,分别安排在大一学习,大一暑期有程序设计实习。因为在大一上学期开设有专业入门课程信息技术基础,学生具备一定的专业基础甚至对某些专业知识有一点探索的兴趣,因此可以在程序设计课程的课堂教学、实验实践等几个方面与专业知识相结合,引导学生应用程序设计语言解决自己专业领域内的具体问题。

选取什么样的专业内容是最重要的,一般要选取学生熟悉的最好是生活中常用的、又具有一定业务逻辑的知识点。程控电话业务显然是学生再熟悉不过的了,同时这一领域增值业务种类很多、业务流程可深可浅,非常适合与程序设计课程结合。

但是程控电话的语音信号不能被计算机识别,而且电话的各种信号音需要局端设备才能产生,这就要求除了学生有一定的专业知识基础之外,还需要专业相关的实验实践环境。笔者在程控交换专业实验室的基础上开发了一套硬件系统,建立了基于电信业务的程序设计课程件实验实践平台。

2.2基于电信业务的实验实践硬件平台建设

目前通信专业与电信增值业务相关的实验室是程控交换实验室,该实验室以程控实验箱为核心,配有示波器用来检测和观察线路信号,主要用于程控交换等课程的实验。在此基础上只要在PC计算机上插入一块模拟语音板卡,通过电话线将实验箱和语音卡相连,实验箱提供外线信号和各种信令进程音,语音卡将模拟的信号转换为数字信号并传输给计算机,而学生就可以在计算机上编写C语言程序完成增值业务的各种应用。实验系统结构如图1所示。

为了实现与程序设计的无缝融合,在PC上将电信业务逻辑进一步封装,把比较繁琐复杂的业务封装成易于理解和调用的函数库,以DLL的形式,可以在VC的开发环境中直接调用,即增加一个方便开发的API接口层,方便学生使用。

这一套实验系统把硬件平台和软件开发融为一体,由程控交换机提供外线接入;以电信语音卡完成终端接入。学生拿起电话即可测试完整的电话通信流程,甚至可以用示波器观测、验证相关信号,同时学生也可以编写程序开发特定的电信业务,在练习程序语言的同时也加深了对专业知识的理解。

2.3将专业知识有机融入课堂教学

刚接触程序语言课程的学生最大的困惑是不明白学这样一门课程有什么用,很多老师只是从纯软件的角度介绍应该学习一门程序语言,但是对不懂程序的学生讲数据结构、软件工程等概念只会使他们更糊涂,可以结合典型的专业知识来说明这一点,例如通信专业学生在信息技术基础课程中学习了程控交换概论,明白了一次完整的通信(打电话)的过程是由许多信令组成的,而这些信令实际上就是软件程序,显然信令在电信业务中具有非常重要的地位,那么程序设计也就非常重要了。课堂教学实例应该更多的与学生所在专业相结合,这样一方面使学生觉着自己的本专业确实跟程序语言息息相关,同时自己对于某些专业课程中的困惑也可以在学习程序设计课程时得到答案。

程序设计语言的内容实际上是很广泛的,不同的专业的侧重点自然不同,一定要根据自己的专业需求有选择的教学,比如通信专业对于“结构”、“文件”、“bit的操作”比较重视,而对于其他一些不常用的算法等只做一般的了解、不必深究。

程序设计课程的教学有其自身的内在规律,专业知识的引入只是补充、优化的作用,否则达不到理想效果,最关键的是教师要在原有教材的基础上精心设计自己的教案。

2.4建立层次分明的实验内容体系

实验环节是对理论知识加深理解,提高编程能力的重要手段,结合专业知识设计实验内容,可以克服现有的实验习题枯燥、单调的缺点。但程序设计课程本身的内在逻辑体系是第一位的,因此最重要的是设计合理的与课程相适应的实验内容体系,用专业的内容替换原有的部分实验题目。根据从易到难、从简单到复杂、并且保持系统灵活性的原则,将实验内容分为基础、提高、综合三个层次。

(1) 基础部分。以程控交换中的局部知识为载体,练习C语言中比较基础和简单的知识。程控交换中最基本的内容是通话过程的发起、建立和释放三个阶段,在内容上包括了摘挂机检测、信令信号音的检测和发送、语音信号的控制播放、DTMF号码的接受和分析等内容,帮助学生练习C语言整型、字符型、布尔型以及字符数组、结构体数组、枚举类型等基本的数据结构;程序的控制结构上练习 if/else选择结构、for循环结构、switch多重选择结构、while循环结构。目的是激发学生兴趣,巩固课堂知识。

(2) 提高部分。以一次完整的电话通话过程为载体,以函数设计为主体,将程控交换的摘挂机检测、通道放音、DTMF的接受和发送等内容串起来,综合运用程控交换中的基础知识设计实验。要求学生在掌握基础的C语法和程序控制结构基础之上,以面向过程的设计思想为指导,以C语言中函数的设计为中心,将整个实验内容划分为几个主体函数的设计,能够通过设计的函数控制整个通话的过程。目的是让学生学会一个简单的实际问题的计算机解决思路和流程。

(3) 综合部分。以具体的完整的程控交换增值业务应用作为设计目标,例如自动语音应答、语音信箱等,要求学生在面向过程的程序设计思想下,根据现实的、具体的、系统的要求,进行完整功能的系统设计开发。目的是锻炼学生的较为综合地分析问题和解决问题的能力。

2.5以项目管理的方式组织实习环节

在今天这样一个社会分工越来越细的大环境下,很多项目开发都需要团队合作才能完成,因此团队精神与合作意识就很重要。上机实验环节最大的缺点是时间段一般比较短,练习的题目也比较简单,往往以个体为单位,缺乏集体合作,而暑期实习这样的实践环节在这方面恰恰具有优势。因此将程序设计实习这一实践环节纳入程序设计课程整体规划中来,专业知识方面用呼叫中心、电话银行、96200电话卡系统甚至协议分析等开设题目;程序设计专业学生可以选择面向过程或者面向对象的设计方法,从需求分析、系统设计到代码编写完全按照软件项目的标准来要求和管理。主要锻炼学生面对较复杂问题时的分析能力和驾驭程序设计语言的能力。

以2009年暑期通信工程专业程序设计实习为例,共设立20个实习题目,难度分为综合、一般两类,学生自由组成小组,每个小组不超过5人,每小组选择一个题目,不同小组的题目可以相同。具体实施过程分为三个阶段:(1)系统设计阶段。小组选好题目后通过查阅资料和广泛讨论写出设计方案,包括主要问题、技术路线、功能模块以及工作分工;(2)分工开发阶段。将具体工作详细明了的分配给组内成员,并分头开发;(3)综合测试阶段。综合每个人的工作,并进行系统测试。整个过程中充分调动学生的积极性,从设计到开发,主要由小组自行讨论完成,遇到问题先在小组内部讨论,解决不了的再去请教老师,而指导教师只给出启发性意见。

以项目管理的方式来组织实习,让学生体会项目开发的整个流程,而不单是埋头编代码,在提高学生分析问题和解决问题的能力的同时,锻炼合作意识和团队精神,也有利于培养学生的创造性思维和探索精神。

3结语

学习程序设计语言的目的是编写程序解决实际问题,而不是背诵一些语法、语句。将专业知识融入到程序设计课程的课堂教学、上机实验和实践环节中,达到既掌握程序语言,又熟悉专业知识的效果,使学生在学习程序语言的同时,更明白程序语言的应用情况,尤其是在本专业的应用,既激发了学生学习程序设计的兴趣,又提高了学生对于专业知识学习的动力。但是有一点要注意:要尊重程序设计课程教学本身的内在规律,专业知识的引入是在原来基础上的补充、优化,不能打乱程序设计课程的本身的逻辑结构,否则适得其反。本文从实践的角度进行探索研究,开发了基于电信业务的硬件平台,摸索出一套切实可行的方法和经验,取得了不错的效果,对于非计算机专业的程序设计课程教学具有一定的借鉴和推广价值。

参考文献:

[1] 关忠仁. C语言教学质量的思考与实践[J]. 计算机教育,2007(6):56-58.

[2] 张锋,武秀丽. 程序设计课程及实验教学的改革与研究[J]. 科技情报开发与经济,2006,16(14):251-252.

[3] 唐永红,龚安. 程序设计语言实验教学探讨[J]. 电气电子教学学报,2006,28(3):85-86.

[4] 范永健. 关于非计算机专业程序设计课程教学改革的思考[J]. 河北建筑科技学院学报:社科版,2006,23(2):59.

Exploration and Practice on the Reform of the Teaching of the Programming

Language Course Based on Telecommunication Service

LI Shi-bao

(College Computer and Communication Engineering, China University of Petroleum, Dongying 257061, China)

Abstract: The paper studies the Programming course in Communication Engineering Major and proposes an innovative idea of combing them with the students’ major study, that is, the teaching plan and relevant case studies should be based on the academic learning in which the students specialize. It also introduces the methods to devise telecommunication hardware platform. As to the experimentation system, it should cover the primary stage, the improving stage and the integrated stage, to make course study and practical work as a whole, and take project management as its main form. The paper provides a solution to the difficulties existing in teaching Programming to non-computer majors in Chinese universities.

Key words: programming course; teaching reform; experiment teaching; telecommunication service

上一篇:计算机上机实验课程质量保障方式探讨 下一篇:微机原理教学中几个问题的探讨