资源描述
独立学院计算机专业参考课程体系
摘 要:本文针对独立学院计算机应用型人才的培养,提出一种参考课程体系模型,分为基础层、专业基础层和应用层,同时给出计算机科学与技术、软件工程、网络工程三个专业的参考课程体系。<br> 关键词<br>本文来自:计算机毕业网 :独立学院;计算机专业;课程体系;应用型人才<br> <br> 目前,全国共有独立学院三百余所,在校生186.6万人,占全国民办高等教育在校生总数的53.4%;其中,独立学院本科在校生165.7万人,占全国民办本科高等教育在校生总数的88.7%,目前承担着全国本科人才培养的三分之一之重。几乎每个学校都开设了计算机专业,而且学生人数相对其他专业来说是比较多的。<br> 独立学院的专业设置主要面向地方和区域社会、经济发展的需要,主要开设国家经济和社会发展急需的专业,特别是要加快发展社会和人力资源市场急需的短线专业。<br> 针对计算机专业人才的培养,文献[1]提出2种培养模式:A类模式和B类模式。其中A类模式着眼于培养学科优秀人才,使他们未来成为主任工程师、总工程师、教授和学者。而B类模式则着眼于学生将来成为专业技术熟练的、优秀的软硬件生产、开发、经营、维护工程师,以及专业技术管理工程师和跨学科复合型人才。不管是哪种培养模式,都需要培养学生的科学素养、人文素养和工程素养。<br> 现在许多的独立学院都在强调要培养应用型人才,甚至二、三本高校和民办高校也都强调此观点。我们认为其实就是B类培养模式,即,重点培养学生的开发、维护、应用、技术服务和技术管理能力,着重培养学生的工程素养。计算机应用型人才的培养,要首先培养高素质专业技术开发、维护、应用、服务和管理人才,其次才是创新人才。<br> <br> 1 参考课程体系模型<br> <br> 结合在公司从事软件开发的实践和在高校从事教学和科研的经验,我们提出的独立学院培养大学生计算机应用型人才的参考课程体系模型如图1所示[2]。在参考课程体系模型中,将课程体系分为基础层、专业基础层和应用层三层。<br> <br> 图1 独立学院计算机应用型人才培养参考课程体系模型<br> <br> 在基础层,先进行语言类课程的教学,紧接着讲授数据结构。在专业基础层主要讲解计算机内部的工作原理。在应用层,主要掌握主流的开发工具和环境,着重培养学生的工程素养。<br> 针对应用型人才的培养,在课程体系上应当要重两头、轻中间,即重视基础层和应用层,而轻专业基础层。但这并不意味着中间的课程不需要讲授,只是在讲授的过程中要大胆进行适当裁剪,力求突出最基本的知识和思想,着眼于知识结构的贯通,而不要局限于局部的知识点。另外,这三层之间的关系要遵循“抓基础,重实际运用;抓实践,重思想方法”十六字方针。<br> <br> 2 参考课程体系<br> <br> 高等学校是以专业为基本单位来培养高级专门人才的,独立学院作为高等教育事业的重要组成部分,也是通过专业来培养本科应用型的高级专门人才。<br> 中山学院成立于1986年,2002年改制为本科层次的独立学院,计算机工程系在计算机本科专业的教学、实践与发展上已经经历了6个年头。结合学生的实际情况、学科的建设与发展、技术的进步与市场的需求等,在以上提出的参考课程体系模型和参考文献[3]的基础上,我们提出了如下的独立学院计算机专业参考课程体系。<br> 2.1 设计思想<br> 整个课程体系,所有专业突出以软件开发为主(嵌入式软件开发、游戏软件开发、信息终端软件开发、多媒体软件开发、网络应用程序开发、数据库应用程序开发、WEB应用程序开发等),再加上网络管理与软件测试,辅以基本的硬件设计能力。<br> 专业课程分为专业基础课、专业方向必修课、专业方向选修课、专业公共选修课4类。许多高校都将专业基础课定在前4个学期并且所有专业的专业基础课都相同,第5、6学期一般是专业方向必修课,而第7、8学期则是专业方向选修课。在我们提出的课程体系中,将完全相同的专业基础课只放在前3个学期,同时也突出了专业基础课的不同,并且将专业基础课延伸至第6个学期。专业方向必修课则提前至第4个学期,集中在第5、6个学期。专业方向选修课提前至第5个学期,集中在第6、7个学期。而专业公共选修课则放在第6、7个学期。<br> 2.2 专业基础课<br> 前3个学期的专业基础课的参考课程体系如图2所示。<br> <br> 对于大一、大二的学生,要着重抓基础课程(如C++、JAVA、数据结构等),同时要着力培养学生对这些知识的灵活运用,并用来解决实际的问题。对于这些知识的考核,应当要改革传统的考核方式,轻笔试,重上机、实验、程序设计或者课程设计等。要他们参与到高年级同学的实践或者虚拟/实际的项目中,解决特定而具体的问题。<br> 在语言类课程的教学中,要轻语法,重设计与应用。另外,语言的讲授,知识点不一定就要面面俱到,如C语言中的位移操作、文件操作等内容可在后续的嵌入式开发的课程中予以加强;如C++中的模板、ATL及函数指针等内容可在后续的游戏开发的课程中予以加强;而C#中的委托、事件、集合、泛型及类型元数据可在后续的“基于.Net Framework程序设计”课程中予以加强。<br> 有了语言的功底,尤其是运用语言进行程序设计的能力,学习数据结构就会事半功倍,加上算法设计与分析,就会相得益彰,为程序设计或者是软件开发打下良好的基础。<br> 通过在大一开设“面向对象程序设计I、II”,让学生有程序设计和使用.NET平台的基础,在大二开设“基于.Net Framework程序设计”,让学生有应用.NET平台的基础,这样为学生在大二下学期及以后学年的技术分流打下基础。如对嵌入式感兴趣,可往计算机科学与技术专业走;如对游戏开发及软件测试感兴趣,可往软件工程专业走;如对网络开发及网络管理感兴趣,可往网络工程专业走。<br> 2.3 计算机科学与技术专业<br> 计算机科学与技术专业(含嵌入式软件开发、终端软件开发等方向)的参考课程体系如图3所示。<br> 所有专业的第4、5个学期的专业基础课都相同,在第6个学期,本专业的专业基础课(数字图像处理)与网络工程专业不同。在第4个学期引入专业方向必修课单片机及其应用开发。第7个学期的专业公共选修课所有专业基本相同。<br> 2.4 软件工程专业<br> 软件工程专业(含游戏软件开发、软件测试、数字媒体等方向)的参考课程体系如图4所示。<br> 在第6个学期,本专业的专业基础课是“数字图像处理”,这与网络工程专业不同。在第4个学期引入专业方向必修课“Windows应用程序设计”。第5个学期的美术基础是为游戏软件开发方向准备的。第6个学期的J2EE平台应用与开发是为学生技术兴趣分流准备的。其中手机游戏程序设计中包含JAVA程序设计的介绍。<br> 2.5 网络工程专业<br> 网络工程专业(含网络软件开发、网络工程、信息安全等方向)的参考课程体系如图5所示。<br> <br> 注:宋体表示专业基础课、黑体表示专业方向必修课、隶书表示专业方向选修课、楷体表示专业公共选修课,课程名称旁边的数字表示周学时(下同)。<br> <br> 在第6个学期,本专业的专业基础课是“数字通信基础”,与其他专业不同。在第4个学期引入专业方向必修课“计算机网络协议分析”。<br> </p> <p> <p>所有专业的选修课程总学分控制在15~20学分之间,每个学期的周学时在24课时左右,其中第1学期和第4学期可以适当少一些,因为第1学期是新生入学,而第4学期大部分学生需要过CET-4或CET-6。随着技术的更新换代,可以通过修改专业方向选修课的方法来保持专业方向的持续发展和与时俱进,而其他方面的课程则相对稳定。<br> 根据实际情况和教学效果,尤其是对课程的教学大纲,应大胆地对教学内容进行裁剪修、对教学方法进行改革。另外在排课的时候,要有意识地加强课程团队、教学团队的建设。<br> <br> 3 实践教学<br> <br> 实践教学包括上机、实验、课程设计、校内实践、社会实践、毕业设计等环节,所有实践教学环节累计学分(学时)不少于25%。鼓励对主干课程不仅要进行课内的上机或实验,着重要学生进行课外的课程设计并占总成绩的较大比例。校内实践和社会实践主要包括网络实践、电装实习和专业实践等内容。不同专业的专业实践也各不相同,如对于计算机科学与技术专业,专业实践可以是单片机应用系统设计、嵌入式应用系统设计、手机应用开发、PDA应用开发、DSP应用开发等;对于软件工程专业,可以是软件开发实践,如游戏程序设计、数据库程序设计、WEB程序设计等及其小组软件过程等;对于网络工程专业,可以是网络规划与设计、网络安全管理与防范等。<br> 第7个学期的专业选修课一般较少,可以集中在前半个学期修完,同时进行毕业设计的开题工作,后半个学期完成毕业设计(对于考研的学生可以适当推迟),而在第8个学期撰写毕业论文、实习和找工作。在毕业设计(论文)过程中,要加强过程监督,提高水平与质量。<br> 在实践教学过程中,要注重发现、培养优秀学生,把他们吸纳到教学、科研和项目中来,形成以点带面辐射式的良好影响。<br> <br> 4 进一步讨论<br> <br> 独立学院不要一味去强调与其他类型的学校如高职院校,一、二本公办院校的区别,也不要陷于自己是“另类”学校的泥潭。任何高校在本质上都是培育高等人才的摇篮,关键在于找好自身学校师生、管理团队的定位。我认为独立学院要坚持“一个中心,两个基本点”的指导思想,即以教研为中心,以课堂、实验两个为基本点。以教改促教研,以教研指导教改;以科研带教研,以教研促科研。而教研主要集中在课程体系、专业方向、课程建设和科研等方面。目标是把学生培养成适应学生、适应市场、适应发展的计算机应用型人才。同时也建设一支具备应用型、工程型、教研型的教师队伍,一支善于培养计算机应用型人才的教师队伍。<br> <br> 5 致谢<br> <br> 本文提出的参考课程体
<P>FIR数字滤波器的MATLAB设计及DSP的实现</P>
<P> 关键词:MATLAB;DSP;FIR;数字滤波器 </P>
<P>摘要:数字滤波器是数字信号处理的重要组成部分。本文主要介绍应用MATLAB设计FIR数字滤波器的方法,并探讨基于TI公司TMS320C54X DSP的Fir数字滤波系统的实现。 </P>
<P> 一、引言 <BR> 数字滤波是语音处理、图像处理、模式识别、频谱分析等应用的基本处理算法。数字滤波具有稳定性好、精确度高、不受环境影响、灵活性好的特点。数字滤波器分为无限冲激响应滤波器(IIR)和有限冲激响应滤波器(FIR)滤波器。FIR数字滤波器不含反馈环路、稳定和可以实现严格线性相位等优点。 <BR> 二、FIR滤波器的MATLAB设计 <BR> FIR滤波器的设计方法有窗函数设计法、频率采样设计法和等波纹逼近法。窗函数法设计FIR滤波器是工程实践中应用最广泛的设计方法。窗函数设计FIR滤波器的基本思想:根据给定的滤波器技术指标,选择滤波器长度M和窗函数W(N),使其具有最窄的主瓣和最小的旁瓣。其核心是从给定的频率特性通过加窗以确定有限长单位脉冲响应序列h(n)。实际实现的滤波器的单位取样响应为h(n),长度为N,其系统函数为H(z)。工程实际中常用的窗函数有6种,即矩形窗、三角窗、汉宁窗、哈明窗、布莱克曼窗和凯泽窗。 <BR> 滤波器设计需要进行大量复杂的运算,利用MATLAB强大的计算功能进行计算机辅助设计,可以快速有效地设计数字滤波器,大大地简化了计算量。应用MATLAB设计Fir数字滤波器时,先根据给定过渡带宽度和阻带最小衰减的选择合适的窗函数,之后,调用窗函数编译相应的程序计算滤波器的阶数M、hd(n)、h(n)和实际的幅频特性,之后由输出验证设计是否满足性能指标要求。 <BR> 例:用窗函数法设计一个带通滤波器,指标要求如下:低端阻带截止频率ws1=0.2π;低端通带截止频率wp1=0.35π;高端阻带截止频率wp2=0.8π;高端通带截止频率wsp2=0.65π;通带最大衰减Rp=1dB;阻带最小衰减As=50dB。 <BR> MATLAB部分源程序如下: <BR> 凯泽窗设计低通.m: <BR> ws1=0.2*pi;wp1=0.35*pi;wp2=0.65*pi;ws2=0.8*pi;As=50; <BR> tr_width=min((wp1-ws1),(ws2-wp2)); <BR> M=ceil(8*pi/tr_width)+1 <BR> n=[0:1:M-1]; <BR> wc1=(ws1+wp1)/2;wc2=(wp2+ws2)/2; <BR> hd=ideal_lp(wc2,M)-ideal_lp(wc1,M); <BR> w_bla=(hamming(M))' <BR> h=hd.*w_bla; <BR> [db,mag,pha,grd,w]=freqz_m(h,[1]); <BR> delta_w=2*pi/1000; <BR> Rp=-min(db(wp1/delta_w+1:1:wp2/delta_w)) <BR> As=-round(max(db(ws2/delta_w+1:1:501))) <BR> RHpah=unwrap(pha); <BR> 三、FIR数字滤波器的DSP实现 <BR> FIR滤波器的输出表达式: <BR> <BR> 式中,bi为滤波器系数,x(n)为滤波器在 时刻的输入,y(n)为n时刻的输出。它的基本算法是一种乘法—累加运算。即不断地输入样本x(n),经过z-1延时后,再进行乘法-累加,最后输出滤波结果y(n)。在TMS320C54x中,实现z-1算法,可采用线性缓冲区法或者循环缓冲区法。本文以循环缓冲区算法为例说明。 <BR> (一)循环缓冲区实现z-1 <BR> 1.在数据存储器中开辟一个N个单元的缓冲区(滑窗),用来存放最新的N个输入样本。 <BR> 2.从最新样本开始取数。 <BR> 3.读完最老样本后,输入最新样本来代替最老样本,而其他数据位置不变。 <BR> 4.用BK寄存器对缓冲区进行间接寻址,使缓冲区地址首尾相邻。 <BR> 第1次运算,求y(n)(以N=8阶为例)。 <BR> 1.以ARx为指针,按x(n)……x(n-7)的顺序取数,每取一次数后,数据向下移一位,并完成一次乘法累加运算。 <BR> 2.当经过8次取数、移位和运算后,得y(n)。 <BR> 3.求得y(n)后,ARx指向最老样本x(n-7)单元。 <BR> 4.从I/O口输入新样本x(n+1),替代最老样本x(n-7),为下次计算做准备。 <BR> 第2次运算求的y(n+1)后,ARx指向x(n-6),输入的新样本x(n+2)将替代x(n-6)样本,在循环缓冲区中新老数据的位置不是很直观,但不需要数据移动,不要求能够进行一次读和一次写的数据存储器,因此可将缓冲区定位在数据存储器的任何区域。实现N个循环缓冲区单元首尾相邻,可用BK寄存器按模间接寻址来实现。 <BR> 其中,circ是根据BK寄存器中的缓冲区长度,对(ARx+1)、(ARx-1)、(ARx+AR0)、(ARx-AR0)和(ARx+1k)的值进行取模,使指针ARx指向缓冲区,实现循环缓冲区首尾相邻。 <BR> 在循环缓冲区中新老数据的位置不是很直观,但不需要数据移动,不要求能够进行一次读和一次写的数据存储器,因此可将缓冲区定位在数据存储器的任何区域。实现N个循环缓冲区单元首尾相邻,可用BK寄存器按模间接寻址来实现。 <BR> 其中,circ是根据BK寄存器中的缓冲区长度,对(ARx+1)、(ARx-1)、(ARx+AR0)、(ARx-AR0)和(ARx+1k)的值进行取模,使指针ARx指向缓冲区,实现循环缓冲区首尾相邻。 <BR> (二)FIR滤波器的设计与实现实例 <BR> 设计一个FIR低通滤波器,其设计参数:滤波器阶数:N=40;截止频率:wp=0.35p,ws=0.4p。 <BR> 1.由给定的滤波器的性能指标应用MATLAB设计完成滤波器设计。 <BR> 2.采用循环缓冲区实现FIR滤波器的部分源程序如下。 <BR> …… <BR> FIR_INIT:SSBXFRCT;设置小数乘法 <BR> STM #FIR_COFF,AR5;AR1指向b0单元 <BR> RPT #K_FIR_BFFR-1 ;设置传输次数 <BR> MVPD#COFF_FIR_START,*AR5+;系数bi传输至数据区 <BR> STM #D_DATA_BUFFER,AR4;D_DATA_BUFFER缓冲区清0 <BR> RPTZA,#K_FIR_BFFR-1 <BR> STL A,*AR4+ <BR> STM #(D_DATA_BUFFER+K_FIR_BFFR-1),AR4 <BR> STM #(FIR_COFF_TABLE+K_FIR_BFFR-1),AR5 <BR> STM #-1,AR0 ;设置双操作数减量 <BR> LD#D_DATA_BUFFER,DP ;设置页指针 <BR> PORTR PA1,@D_DATA_BUFFER;输入x(n) <BR> FIR_TASK:STM #K_FIR_BFFR,BK <BR> RPTZA,#K_FIR_BFFR-1 ;重复操作 <BR> MAC *AR4+0%,*AR5+0%,A;双操作数乘法-累加 <BR> STH A,@y;暂存y(n) <BR> …… <BR> 五、结束语 <BR> 自20世纪80年代初DSP芯片诞生以来,DSP技术得到了飞速的发展,已经在通信与电子系统、信号与信息控制、自动控制、雷达、军事、航空航天、医疗、家用电器等许多领域得到广泛的应用。应用MATLAB软件设计FIR数字滤波器,并用DSP实现了FIR数字滤波是解决数字滤波器从设计到实现的有效办法,具有一定的实际应用价值。 <BR> 参考文献: <BR> [1]丁玉美,高西全.数字信号处理[M].西安:西安电子科技大学出版社,2005 <BR> [2]王华奎,张立毅.数字信号处理及应用[M].北京:高等教育出版社,2004,11 <BR> [3]张雄伟,陈亮,徐光辉.DSP集成开发与应用实例[M].北京:电子工业出版社,2002 <BR> [4]彭启宗.DSP技术原理及应用[M].北京:电子工业出版社,1998 <BR></P>
</p>
<P>应用型计算机本科中离散数学课程目标定位与课程改革的探讨</P>
<P> 关键词:离散数学;离散建模;课程改革 <BR> <BR>摘要:本文讨论应用型计算机本科中离散数学课程的若干问题。首先讨论课程目标定位,文章给出了三个定位目标,特别是离散建模作为一种定位目标被提出;其次,讨论课程的若干改革;最后,以一本教材为例给出了应用型计算机本科专业离散数学教材的具体案例。 </P>
<P> 1问题的提出 <BR> <BR> 离散数学课程自上世纪70年代出现以来一直是计算机专业的核心课程之一,但近年来,关于离散数学在计算机专业中的地位与作用的议论就一直不断,它的课时数一直被削减,近期又有人对它存在的必要性提出质疑,个别学校甚至将其改设为选修课,这个现象在应用型计算机专业中尤为突出。计算机专业中这样重要的课程竟会出现这样奇怪的现象,不禁使人疑惑:离散数学到底出了什么问题? <BR> 究其原因有多方面,部分是外部原因,如就业压力、浮躁风气等,而笔者认为其主要原因还是在自身内部。在本文中,笔者将从应用型计算机专业离散数学课程的内部寻找答案,并就通过课程改革以期扭转目前局面作出探讨。 <BR> <BR> 2课程的目标定位 <BR> <BR> 在长达三十余年的课程发展历史中,离散数学在计算机专业,特别是应用型计算机专业中的目标定位始终不够清晰,或不够坚定,经常被干扰或被左右。因此要改变离散数学目前的局面首先需从明确目标定位做起。 <BR> 一般认为,应用型本科计算机专业离散数学课程目标定位有三: <BR> (1) 掌握离散数学的基本理论与方法,培养抽象的离散思维能力与逻辑思维能力。 <BR> (2) 为诸多后续课程提供支持。 <BR> (3) 作为计算机学科的应用与研究工具,用于计算机领域的离散建模[1-3]。 <BR> 大多数人对这三个目标定位的前两个一般均持肯定态度,但对第三个定位目标,即培养离散建模能力则持怀疑者居多。但是,须知缺少了这个定位目标后,离散数学在计算机学科中的地位,特别是它在计算机核心课程中的地位就会动摇。因此,作为计算机学科工具,离散建模是离散数学区别高等数学的根本之处,也是离散数学与计算机紧密关联之处,也是使离散数学成为计算机专业核心课程的原因之一。目前来看,明确这个目标定位已成为离散数学课程改革的当务之急。 <BR> <BR> 3离散数学是计算机科学与技术应用与研究的有力工具 <BR> <BR> 为探讨此问题,首先需从离散数学与计算机科学与技术间的关系谈起,目前一种流行的说法是离散数学对计算机应用与研究的作用是间接的,即计算机专业人员通过离散数学抽象思维能力与逻辑思维能力的培养,在这些能力潜移默化的作用下使他们的应用、研究能力有所提高。这种说法当然有一定道理,但是其实远不止如此。我们知道,离散数学之所以成为计算机专业的核心课程,其主要原因就是由于它与计算机学科直接的、紧密的关联,特别是它作为研究与应用计算机学科的工具,历史的发展可以证明这一点。 <BR> 在计算机的发展历史中,离散数学起着至关重要的作用,在计算机产生前,图灵机理论对冯•诺依曼计算机的出现起到了理论先导作用;布尔代数作为工具对数字逻辑电路起到指导作用;自动机理论对编译系统开发的理论意义、谓词逻辑理论对程序正确性的证明以及软件自动化理论的产生都起到了奠基性的作用。此外,应用代数系统所开发的编码理论已广泛应用于数据通讯及计算机中,而应用关系代数对关系数据库的出现与发展起到了至关重要的作用。近年来,离散数学在人工智能、专家系统及信息安全中均起到了直接的、指导性的作用。 <BR> 以上的历史已充分证明,离散数学作为一种强有力的工具在计算机科学与技术的研究与开发中起着重要作用。从这点看,离散数学与计算机学科间关系已不是间接的、松散的关系,而是直接的、紧密的关系。 <BR> <BR> 4离散建模是离散数学应用于计算机学科的有效手段 <BR> <BR> 那么,作为工具而言,离散数学又如何与计算机学科发生关系的呢?我们认为,这主要通过离散建模实现了从离散数学到计算机领域的应用,具体来说有以下几点。 <BR> 首先,对计算机(或客观世界)中的某领域建立起一个抽象的形式化(离散)数学模型,称离散模型,而建立模型过程称离散建模。可以将对该领域的研究归结为对离散模型的研究。 <BR> 其次,用离散数学的方法对离散模型求解,由于离散模型具有强大的离散数学理论支撑,因此对它的求解比对领域的求解更为有效。 <BR> 最后可将离散模型的形式化解语义化为某领域的具体结果。 <BR> 这样,我们可以将对某领域的研究通过建立离散模型而归结为对离散模型的研究,最后可将其研究数学结果返回为领域中的语义结果从而最终实现问题求解的目的。我们可以用下面的图1给出离散建模的全过程。 <BR> <BR> 有关的研究例子有很多,如在数据库研究中建立的关系代数模型、在编译系统中建立的自动化模型、在数字逻辑电路中建立的布尔代数模型以及在数据通讯中建立的纠错码模型等。 <BR> 下面以关系代数模型为例说明离散数学对计算机科学技术发展的作用。大家知道对数据库领域的研究始于上世纪60年代,最初采用的是图论模型从而形成了当时有名的层次数据库与网状数据库,它们对构作数据静态结构起着重要作用。随着计算机与数据处理发展,数据库中数据结构有了新的变化,数据的动态结构要求与数据操作要求越加重要,因此需有新的离散模型以适应数据库发展需要。在此形势下,IBM公司F.F.Codd于1970年提出了数据库的关系代数模型。该模型用离散数学中的关系表示数据库中数据结构,用代数系统中的代数运算表示数据库中的动态结构与数据操作要求。这个离散模型较为真实地反映了数据库发展的需求,因而成为当时数据库中最为流行的模型,它称为关系模型。IBM公司之后就依据该模型的理论开发研制实验性的关系数据库管理系统,但在开发与使用中遇到了三个困难,使开发进程受挫,它们是: <BR> (1) 这种采用离散数学方法的数据库语言在语句表示上遇到困难。 <BR> (2) 用这种数学方法所开发的软件系统操作(包括查询及增、删、改等)效率极低,使系统无法实用。 <BR> (3) 用关系所表示的数据结构在操作中会出现很多异常现象。 <BR> 为解决这三个问题,必须对关系代数作深入的研究: <BR> (1) 在上世纪70年代初给出了关系代数表达式的范式,在这种范式中,任一表达式均可由有序的三个运算符组成,从而构成了数据库语言中的三个基本子句:SELECT、FROM及WHERE,以此为基础构成了著名的数据库中的SQL语言,它目前已成为全球统一及规范的语言。 <BR> (2) 在上世纪70年代后期通过代数表达式优化理论使数据库操作效率提高了数十倍至数百倍不等,从而有效地解决了系统的实用性。 <BR> (3) 在上世纪70年代末期通过关系规范化理论的研究解决了关系表示中的异常现象。 <BR> 经过上世纪70年代近十年的研究积累,关系代数理论研究彻底解决了关系数据库实现中的三大难题,因而在70年代末期出现了著名的关系数据库管理系统System R及Ingres等,而从80年代起关系数据模型终于淘汰了层次、网状等其他模型成为引领世界潮流的主要模型,此种势头在三十年后的今天仍然没有变。 <BR> 关系代数模型(离散模型)是理论带动产品的典范,它充分证明了通过离散建模利用离散数学理论解决计算机应用中实际问题的有效方法。 <BR> <BR> 5课程内容改革探讨 <BR> <BR> 根据前面所讨论的目标定位,接下来我们讨论课程内容。我们说,应用型本科计算机专业离散数学课程内容应根据课程目标定位要求全面掌握,亦即是数学能力培养、后续课程支持及作为计算机应用、研究工具等多种定位目标的要求设置。考虑到目前大多数课程中对前面两个目标定位都有较多的关注,而对最后的一个目标定位认知较少,因此在讨论此问题时,除对课程目标定位要求全面掌握外重点关注课程内容中应紧密与计算机学科的关联。 </P>
<P> </P>
</p>
摘要:传统的计算机硬件基础课教学已不适应现代科学技术的发展和社会对人才的需求,本文结合计算机专业的特点,从课程内容、教学体系、教学方法等方面总结了在硬件基础课教学改革中所取得的实际经验和体会。<br> 关键词<br>本文来自:计算机毕业网 :硬件基础课;教学改革;整合课程<br> <br> 1引言<br> <br> 计算机硬件教学的先修课程是“电路分析”、“模拟电子学”和“数字逻辑与数字系统”。由于历史原因,这些课程大多由电子系开设,是以理论研究为目的的课程体系,存在教学内容陈旧,课程体系老化,理论论述多,占用学时多,前后衔接不好等问题,给后续计算机硬件课的理论教学和实践教学带来了诸多困难和被动。而计算机专业与其他专业相比较,少有的几个优势之一就是对计算机硬件结构的掌握。因此,结合计算机专业的具体情况,在教学体系、教学内容和教学方法等方面对硬件基础课程进行必要的改革就显得尤为重要。<br> <br> 2整合内容、精缩课时<br> <br> 1) 现代科学技术的发展日新月异,计算机技术的发展更是突飞猛进。在大学本科阶段,除了要给学生传授基础理论知识外,还要讲授新技术、新理论,这就使得各高校不断压缩某些传统基础课的课时,增设一些新的课程。在这种形式下,硬件基础课的课程体系和教学内容亟待更新。<br> 2) 课程体系的构建是以理论知识为架构,以实际应用为目标,教学内容则应紧密结合专业核心能力对理论知识的要求。综合时代发展、专业结构和课程体系的总体考虑,从98年起我们就根据计算机专业的特点,逐渐建立完善了一套硬件基础课的课程体系。首先,在课程内容的组织与建设方面,注重了先修课和后续课程的关系,做到内容上不重复,知识点上不脱节。其次,教学内容力图反映时代的发展,技术的进步。通过编写出版《电路与电子学基础》、《数字逻辑与数字系统》两本教材重新划分课程内容,精缩学时,将原有的64学时的“电路分析”和64学时的“模拟电子学”这两门课程整合为课内48学时、实验20学时的“电路电子学”课程,重新划分、补充了“数字逻辑与数字系统”(课内48学时、实验20学时、三周课程设计)的教学内容。<br> (1) “电路与电子学”课程。在电路分析部分不再追求研究线性电路的理论体系完整性,删除了部分传统教学内容,只保留直流分析、交流分析和动态电路三大部分。在直流分析中,删掉了“电路分析”教学中关于支路电流法和回路电流法的内容,保留电路系统分析法中的被广泛用于机辅分析的节点电压法。在交流分析中,删除了三相电路内容,而对通信中的谐振电路则详细讲解。动态电路的分析中,只通过一个简单的RC充电回路让学生了解时域分析的基本步骤,而将重点放在三要素法和RC无源微积分电路上。在“模拟电子学”部分,去掉了半导体器件导电原理和反馈的方框图计算法,精简了阻容耦合放大电路(包括多级放大)、小信号动态图解法、差分电路分析等。相应地加强了有源器件MOS管、电流源电路和系统稳定性的介绍,课程着重讲解集成运放的应用。在讲解由运放构成的有源积分电路时,与前面的无源积分电路做比较,这样有助于学生理解并牢固掌握两种电路各自的特点。实践证明,学生在做电子竞赛时对这两种电路的使用都非常恰当。<br> (2) “数字逻辑与数字系统”课程。教学内容删除了数字电路中各种触发器电路的内部结构和传统设计方法中的设计技巧,精简了中规模器件的内部逻辑介绍,缩减了卡诺图和逻辑简化内容。由于计算机专业的硬件课程“微机原理与接口技术”中将介绍A/D、D/A转换,故这一部分内容就不出现在“数字逻辑”课程的教学中。将教学重点放在各类触发器的逻辑功能触发条件、集成电路外部功能、可编程器件和EDA技术上,要求教会学生如何通过查找器件手册了解器件功能和使用要点。由于计算机硬件中三态门、OC门的重要性,课程加强了对其逻辑功能及应用的举例说明。<br> (3) 改革组课方式。逻辑门电路是传统“数字逻辑”教学中最难的一章,由于门电路的原理要涉及到电路、模拟电子学等方面的知识,因此在讲述这一部分内容时,必须帮助同学复习有关的知识。在改革课程体系时,我们打破传统的教学体系,将这一部分内容放在“电路电子学”课程中,在讲述半导体器件后引入逻辑门电路,如MOS管可以具有开关和受控源两种类型的功能,根据器件所给偏置条件的不同,在模拟电路中可作为放大器件或在数字电路中作为开关器件。课堂上的师生互动证明,经过这样的调整,学生对有关门电路的问题就很容易理解掌握。通过合理地整合教学内容,改变了过去把电路模型与实际器件(如受控源和晶体管)、开关与放大作用、模拟与数字等研究对象截然割裂的组课方式,而是将它们有机地融合,找出共性和个性,讲清个性,突破难点,这样便于以统一的观点使学生建立完整的概念〔1〕。<br> <br> 3软硬结合与时共进<br> <br> 1) 当前国内计算机专业的普遍现象是“过软”,即强调软件编程,而学生的硬件动手能力非常薄弱。在计算机科学技术飞速发展的今天,计算机系统的软硬件界限开始变得模糊,且采用软件方法来设计硬件, FPGA、VHDL、DSP技术带来了全新设计理念与结构体系,与之相应EDA技术和ISP器件在教学、科研等领域应用越来越广泛。在这种软硬件逐渐融合的背景下,计算机学科的硬件基础课程必须要反映出这种时代的发展。<br> 2)EDA技术分为三级:以PSPICE、EWB、Multisim等为软件平台的仿真分析类辅助设计技术为初级;以MaxPlus II、Quartus II等为软件平台,以FPGA/CPLD为硬件系统目标芯片的电子系统设计EDA技术为第二级;以NC Simulator、Virtuso、Diva等为软件设计开发平台、以集成电路芯片版图设计为目标的ASIC芯片设计为最高级〔2〕。EDA技术的前两级都与计算机硬件基础课密切相关,因此在进行课程体系改革时,应结合实践性教学环节,根据“基础型、应用型、综合型、创新型”的循序渐进的实验课程教学体系,将EDA技术分层次地引入设置在教学中:<br> (1) 第一级——首先在“电路电子学”教材各章的最后一节给出PSPICE对本章典型电路的仿真实例,教材最后一章加入可编程模拟器件ispPAC。其次,增加了20学时的Multisim仿真及电路设计实验。通过仿真实验,将教学中的难点用直观的图形和曲线表述,降低了数学难度。如通过对模拟放大电路的仿真,可以直接观察到改变电路参数所导致的波形失真,学生就很容易理解并掌握静态工作点变化对放大电路性能的影响。最后,利用仿真平台生动直观方便的特点,让学生掌握先设计、后仿真、再实际的设计方法和理念,在此基础上,将以往的一些验证实验提升为综合设计实验。对每一个实验都要求虚实结合,虚实互动,通过这种训练,极大地提高了设计的成功率。计算机专业的学生取得北京市大学生电子竞赛的3个一等奖,更多的二、三等奖证明,整合后“电路电子学”的教学改革取得了成效。<br> (2) 第二级——传统的“数字逻辑”课程体系以逻辑代数为基础,采用自底向上(DOWN-TO–TOP)的设计方法,教学内容以门电路-中规模集成电路-大规模集成电路-数字系统为顺序排列。导致学生在学习前面局部知识的时候,缺乏整体系统概念,只会 “搭积木”拼凑式的设计,当后续“组成原理”课程要建立整机、系统这些非常重要的概念时,前面所学的一个个分散的知识点不能被融会贯通〔3〕。现代数字系统的设计以硬件编程语言为基础,采用自顶向下(TOP-TO-DOWN)的设计方法,因此数字电路的教学体系必须重新构建。第二级的EDA技术包含三方面内容:(1)大规模可编程逻辑器件;(2)硬件描述语言;(3)软件开发工具。所以在“数字逻辑与数字系统”的教学体系上,应以逻辑代数与VHDL语言并行为基础,强调自顶向下的设计理念和层次化设计方法,以系统为对象,用VHDL语言描述,在EDA软件平台上,自上而下、逐步细化,最终完成整个系统的设计。依据整体“自顶向下”,细节“自底向上”的教学模式,在教学内容组织上,先给出数字系统的整体架构及逻辑系统的三大部件:存储、处理、控制,让学生有全局、整体的认识。在讲述逻辑系统的每一具体部件时, 仍然遵循“由浅入深,循序渐进”的原则,采用传统的“自底向上”的教学组织方法。在实践教学的综合设计部分中,要求学生必须按照从顶层抽象描述向底层结构描述,最后到可实现的硬件单元描述这一过程进行数字系统的设计。通过这种教学改革,学生的知识
展开阅读全文