北京大学计算机基础课程教学体系划分为计算机专业(A类)、理科非计算机专业(B类)、文科专业(C类)三类。
为了了解北京大学计算机基础教学的课程体系和知识点设置的情况,以及学生的学习效果,我们在北京大学计算机基础任课教员和低年级理科学生中进行 了计算机基础课程分类分级教学情况的调查。下面重点介绍北京大学计算机基础课程教学体系、课程设置以及教学效果、教学经验、教学改革等方面的调查结果。
一、北京大学计算机基础课程教学体系
北京大学计算机基础课程教学体系按照计算机专业(A类)、理科非计算机专业(B类)、文科专业划分为三类。A类和B类的计算机基础课程有三门课程:计算概论、数据结构与算法、微机原理。为了加强计算机专业学生的程序设计能力,在信息学院专门为计算机专业学生开设了程序设计实习、数据结构与算法实习这两门实践课程,进行系统的程序设计训练。C类计算机基础课程包括两学期的内容:文科计算机基础(上)、文科计算机基础(下)。
三类教学体系中不同的课程都设有主持教员和主讲教员,这些来自北京大学不同的院系的教员组成教学小组,共同制定教学大纲、选取教材、统一教学进度、定期交流教学经验。
1.计算机专业计算机基础课程体系(A类)
在设置计算机专业的基础课程时,基于如下的考虑:
(1)首先要给学生提供对计算机学科的一个全局性了解,建立学科全局观,既有利于日后深入学习做出选择,也有利于对各学科分支在学科全局中的位置和相互关系有透彻的理解。
(2)设计程序解决一个问题时,除了认真分析问题之外,最重要的是选择合适的数据结构,并设计满足限制条件(或者更优)的算法。因此,计算机专业的学生要熟练掌握各种常见的数据结构,深刻理解某些经典算法,如快速排序、二分法等等的原理和时间、空间复杂度,掌握算法设计的一般步骤。
(3)计算机专业的学生应该从理论和实践上掌握微型计算机的基本组成、工作原理及常用接口技术,建立微机整体概念,具备利用微机进行硬、软件开发的初步能力。除此之外,还要初步掌握汇编语言程序设计的基本方法和上机调试过程。
因此,北京大学计算机系设置了计算概论课程、数据结构与算法课程、数据结构实习、程序设计实习和微机原理课程。其中,计算概论作为总论性质的课程,是其他课程的先修课程。
2.理科非计算机专业计算机基础课程体系(B类)
单杠练习非计算机专业学习计算机技术的目的很明确,不是把它作为纯理论的课程来学习,而
是作为应用技术来掌握。对于理工类非计算机专业的学生来说,虽然他们在学习和工作中不是以计算机为中心,但是很多情况下却离不开计算机,他们需要结合自己的专业,利用计算机作为工具来开展工作。
与计算机专业一样,对理科非计算机专业的计算机基础课程体系同样也设置了计算概论、数据结构与算法、微机原理三门课程。但是,由于两者的学习目的不同,故而要求也有很大不同。
3.文科专业计算机基础课程体系(C类)
力字组词对文科学生在计算机方面的要求比对理科非计算机专业学生的要求更低一些,教授的内容也更偏向于应用,结合使用计算机和应用计算机,讲解计算机与信息技术的基本知识和基本方法。文科专业计算机基础课程包括两学期的内容:文科计算机基础(上)、文科计算机基础(下)。
二、课程的主要教学目标和教学内容
各门课程的主持和主讲教员参考各门课程的主持和主讲教员参考CCC2002(China Computing Curricula, 中国计算机科学与技术学科教程)、CC2001、“计算机基础教学白皮书”和CFC2004(China Fundamental-computing Curricula, 中国高等院校计算机基础教育课程体系)等课程体系为不同类型的计算机基础教育课程分别制定了教学大纲。
1. 计算机专业
计算机专业的计算机基础课包括五门课程:计算概论、数据结构与算法、数据结构与算法实习、程序设计实习、微机原理。其中,计算概论是其他课程的先修课,数据结构与算法和数据结构与算法实习是两门同修课程。
(1) 计算概论A(54学时,3学分)
这门课程的教学目标是给计算机专业的学生提供一个对计算机学科的全局性认识,让学生一开始就有全局观,既对日后深入学习做出选择提供帮助,又有利于透彻理解各学科分支在整个计算机学科中的位置和相互关系。在教学实践中,既要遵循人的认识习惯,又能让学生有效地掌握学科哲学思想。
该课程的基本目的是:使学生了解‘计算科学’的意义、内容和方法,从基础理论、基本开发技术和应用三个层面来介绍;使学生对计算机的认识由感性的、功能的认识深入到内涵的、机理的认识;使学生对计算机学科的主要骨干课的内容以及相互关系有一个概括的了解,对计算机专业的课程体系建立一个整体印象;使学生掌握程序设计的基本方法,可以用C++语言编写应用程序。
在教学实践中,我们采用了两条主线:计算科学简介,C++程序设计。即在介绍计算科学的同时也讲解C++程序设计,实践证明,这样收到了很好的教学效果。
汽车电瓶教学方式:既有课堂教学(多媒体教学),又有网络课堂:http:/
/162.105.80.97 ,可以进行课后复习、交作业、讨论、辅导答疑,等等。
(2) 程序设计实习(36学时,2学分)
世界国家领土排名这是信息学院本科生必修课。
该课程的基本目的是:了解程序设计语言的本质,并熟练掌握一种程序设计语言;培养学生的实际动手能力, 为进一步学习其他专业课程奠定良好的基础。目前程序设计使用的高级语言是C++。
教学方式:课堂授课和上机实习相结合。
(3) 数据结构与算法A(54学时,3学分)
工商银行转账限额该课程为信息学院本科生必修课,又是计算机软件专业一门十分重要的基础课。计算机科学各领域及有关的应用软件都要使用到各种数据结构。这门课程向学生详细讲解各种常见的数据结构及其特点,讲授算法设计和分析技术的一般方法,使学生能够熟练运用各种数据结构,针对具体问题设计出合适的算法。
课程网站: db.pku.edu/mzhang/ds/
该课程的基本目的是:通过本课程的学习,学生将基本掌握数据结构和算法的设计分析技术,提高程序设计的质量;根据所求解问题的性质选择合理的数据结构并对时间空间复杂性进行必要的控制;培养学生逻辑思维能力、独立思考能力、分析问题和解决问题能力,以及严谨的科学作风。
(4) 数据结构与算法实习(周学时4,2学分)
该课程为信息学院本科生必修课,先修要求:计算概论A ,同修要求:数据结构与算法。
课程网站:db.pku.edu/mzhang/ds/shixi/index.htm
该课程的基本目的是:配合“数据结构”理论课程的学习,提高学生的实际动手能力;能够独立地实现常用基本数据结构的ADT,能够灵活地应用基本ADT,以及相应的STL中设置的常用数据结构,解决一些实际问题,独立编写中小型应用程序;应用基本数据结构,并结合排序、检索、文件、索引等技术,合作编写比较综合的大型应用程序。
(5) 微机原理A(54学时,3学分)
该课程为信息学院本科生必修课,先修要求:计算概论A,数字逻辑。
该课程的基本目的是:从理论和实践上掌握微型计算机的基本组成、工作原理及常用接口技术;初步
掌握汇编语言程序设计的基本方法和上机调试过程;建立微机整体概念,具备利用微机进行硬、软件开发的初步能力。
教学方式:课堂讲授,示教演示,上机实习。
2. 理科非计算机专业
理科非计算机专业计算机基础课程包括3门课:计算概论、数据结构与算法、微机原理。其中,计算概论是其他两门课程的先修课。
(1)计算概论B(51学时,3学分)
该课程为理科本科通选基础课B。
课程网站:162.105.30.60/course/index.ht
m; icl.pku.edu/member/hujf/;ftp://162.105.20.22/courses/; gis.pku.edu/Course/ComputerCourse02/index.htm
该课程的基本目的是:使学生初步理解有关计算机和信息技术的基本概念和基础知识,学会使用计算机进行信息处理,使用常用软件,使用因特网;讲授程序设计基础,侧重其基本部分。
教学方式:课堂讲授,配以上机。每次课都布置作业,包括上机作业。
(2)数据结构与算法B(2(课堂教学)+2(教学实验)课时/周,3学分)
该课程为理科本科生必修课 。
先修课程: 计算概论(通过学习计算概论,学生要有一定的程序设计能力,能熟练掌握运用C的控制结构,函数定义与调用,数组,结构,指针。
课程网站:162.105.69.120/teachers/zhangnx/ds/算法与数据结构/INDEX.HTM;ftp://162.105.20.22/courses/;db.pku.edu/ds/
该课程的基本要求是:从每个数据结构的逻辑结构、相应的一组基本运算和实现三个方面去掌握线性表、栈、队列、串*、树、图和字典等常用的数据结构;掌握在顺序存储结构上实现的重要的几种排序算法;对算法的时间和空间复杂性有一定的分析能力;针对简单的应用问题,应能选择合适的数据结构及设计有效的算法解决之。
教学方式:以课堂讲授为主,并根据教学进度安排上机实验。上机内容包括:单链表、栈、二叉树操作、图的遍历、检索、排序。
(3)微机原理B(54学时,3学分)
该课程为理科非计算机专业限制性选修课。由于绝大部分非计算机专业的学生没有学过数字逻辑课程,所以与计算机系微机原理课程相比,增加了数字逻辑的基本内容;在内容的深度上也比计算机专业略浅一些。
该课程的基本目的:理解微型计算机的基本组成、工作原理及常用接口技术;初步掌握汇编语言程序设计的基本方法和上机调试过程;建立微机整体概念。
教学方式:课堂讲授,示教演示,上机实习。
3.文科
文科专业计算机基础课程分两学期讲授。
(1)文科计算机基础(上)(48学时,2学分)
该课程为文科必修课程。这门课的目的是向文科学生介绍计算机的发展,计算机的使用与维护,计算机网络方面的常识,以及常用软件(如word、excel)的使用。通过本课程的学习,希望学生能够较为熟练地使用计算机,真正把计算机作为日常生活和学习中的工具。哪些专业就业前景好
课程网站:162.105.30.75;162.105.30.75:8080;162.105.30.80:8000
教学方式:对于基础知识采用课堂讲授的形式,对于其他需要动手操作的技能采用上机实验。
(2)文科计算机基础(下)(周学时3,2学分
)
该课程为文科类必修课程。该课程讲授较为高级的计算机应用技术,一共包含7个模块:网络、多媒体、数据库、VB、ASP、网页制作、动态网页制作。我们将这个7个模块组合起来,一共形成了7门课程,学生可以任选其中1种或2种。这7门课程是:网络与多媒体技术,网络与数据库技术,网络与VB程序设计,数据库与VB程序设计,VB与ASP,(静态)网页制作,动态网页制作。
三、教学效果的调查结果
参与调查的学生一共626人(包括网上答卷和纸质答卷),其中计算机专业(简称A类)343人(只学过计算概论的学生153人,学过数据结构和计算概论的学生71人,全部基础课程都学过的学生119人),理科非计算机专业(简称B类)165人,文科专业(简称C类)118人。
我们从基本信息、师资力量、教学方式、教学效果、课程安排五个方面进行了调查,并对结果进行了初步分析。由于文章的篇幅的限制,本文只给出教学效果,也就是学生对课程的知识点的了解程度。
在教学效果的调查中,对每门课程,我们让学生选出他们认为重要的知识点(多选),这样可以从结果看出不同年级和专业的学生对所学过每门课程的认识。
对理科专业(包括计算机专业)的学生考察了他们对4门课程的认识:计算概论、程序设计、数据结构与算法、微机原理。由于文科专业课程内容相对简单,我们将各个知识点汇聚在一起作为一门课程(文科计算机基础)来考察。
1.计算概论
调查结果表明,“学习写出正确、简洁的程序”被所有的学生(包括计算机专业和非计算机专业)认为是计算概论课程中最重要的知识点。计算机专业学生认为最不重要的知识点是机器指令与汇编,其次是布尔代数与逻辑电路。理科非计算机专业学生认为最不重要的知识点是布尔代数与逻辑电路,其次是计算模型。
计算机专业一年级学生对计算概论课程的各个知识点重要性的认识没有很大的起伏,而二年级学生(学过数据结构和微机原理的学生)对其中不同知识点有不同对待。二年级学生普遍认为机器指令和汇编、系统软件和应用软件、计算机网络等知识点不重要,原因可能是内容比较简单(例如系统软件和应用软件),或者以后会学到而且现在不急于了解(例如计算机组织与体系结构)。
2.程序设计
调查结果表明,学生认为最重要的知识点是指针,其次是基本程序结构;认为最不重要的知识点是贪心法,广度优先搜索。学生认为指针是程序设计中最重要的知识点,这和我们教学中采用C/C++作为入门语言不无关系。
观察计算机专业三类学生的看法,可
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论