伊利诺伊大学是伊利诺伊州最好的研究型公立大学,2006年在校学生数接近7万,全职教学员工(Faculty and staff)超过2.3万人。伊利诺伊大学由三个分校组成:芝加哥分校(UIC)、厄本那-香槟分校(UIUC)和春田分校(UIS)。每个分校既是独立的研究机构、有各自独立的学校排名,又是伊利诺伊大学的组成部分,由一个校长及校董事会进行统一管理。伊利诺伊大学芝加哥分校成立于1965年,位于美国第三大城市——芝加哥。目前该校已拥有15个学院,2.5万多名在校学生,每年的研究经费超过2.9亿美元。
计算机科学系的历史
伊利诺伊大学芝加哥分校计算机系是该校工程学院下属的六个研究机构之一,经历了从仅是一个专业发展到一个独立的系的历史。1980年伊利诺伊大学芝加哥分校在当时的信息工程系(IE)开设了计算机科学专业,从事计算机科学教育的教师只有7人。1982年信息工程系更名为电子工程与计算机科学系(EECS)。随着计算机科学专业的不断发展和丰富,到了2001年7月,电子工程和计算机科学两个部分分离开来,独立的计算机科学系诞生了。如今计算机科学系已拥有31名教师(Faculty),负责计算机科学领域的本科和研究生培养。在这31名教师中,有7名获得过国家科学基金(NSF)职业奖,有4名是IEEE等专业协会的Fellow,有15名拥有期刊主编或者编委等头衔,有3名获得过教学杰出奖。该系每年的研究经费在800万美元以上。2006年在读本科生大约有350多人,在读硕士生160多人,在读博士生有70多人。目前,伊利诺伊大学芝加哥分校的计算机科学专业在全美计算机科学专业的排名位于50名左右。
计算机科学教育
1.本科课程设置
伊利诺伊大学芝加哥分校计算机系实施四年制本科教育。本科生在获得学位前至少需要获得128个学分。考虑到计算机科学内容的丰富和多样性,该系在针对本科生的培养方向上设立了三个专业分支:一般的计算机科学专业、侧重于培养计算机硬件人才的计算机系统专业和侧重于培养计算机软件人才的软件工程专业。一般的计算机科学专业相当于计算机系统专业和软件工程专业的折中,沿袭了传统计算机科学专业的广度,即兼顾计算机软、硬件的学习,但是就具体硬件或者软件而言,没有其他两个专业那样的学习深度,其优点是为学生今后的专业方向提供了比较灵活的选择空间。
伊利诺伊大学芝加哥分校计算机系的本科课程大致可分为五类:基础必修课程、专业选修课程、数学限选课程、实验/工程选修课程以及工程学院以外开设的课程。
(1)基础必修课程包括数据结构、离散数学、算法、形式语言、计算机组织与体系结构、操作系统和编程。这些课程是学生在计算机科学领域学习、研究、工作的基础,因此,所有计算机科学专业的本科学生,不论专业分支是什么都必须学习这些课程。
(2)专业选修课程是专业侧重点的主要体现,不同专业分支的学生通过选修专业课程获得专门领域的知识。例如计算机系统专业开设了电子学、数字系统设计等面向硬件的课程;软件工程专业则开设了三门软件工程课程-软件工程I~III详细学习软件开发方法、风险管理、软件成本评估等内容。
(3)数学限选课程根据专业分支不同而略微有所差异。每个专业分支设置了11~14门数学限选课程,提供给学生一定的选择空间。线性代数是所有专业分支的必修课程,此外,高等数学、形式逻辑、数值分析、数论基础、图论和博弈论是三个专业分支共同的限选数学课程。
(4)实验/工程选修课程涉及生物科学、化学、地球与环境科学、物理学方面的理论内容和实验,学生至少需要选修两门实验/工程选修课程。由于计算机科学已渗透到各个研究领域,单纯的计算机应用已越来越少,越来越多的是跨学科、几个或者多个学科与计算机科学相结合的应用,开设实验/工程选修课程有着特殊的意义和重要性,有利于学生今后在从事跨学科、交叉学科的研究工作或者与其他学科合作时实现良好沟通、提高协作效率,因此面向计算机专业的学生开设一些跨学科基础课程这一培养思路对我国高校计算机专业的课程设置有一定借鉴价值。
(5)工程学院以外开设的课程包括高等数学的基础课程-微积分I~III、英语写作以及有关人类学、社会科学、艺术等方面的课程。这些课程和基础必修课程一样是所有学生必修学习的课程。微积分作为高等数学的基础课程,是学习计算机科学的重要基础和工具。写作与其他人文、艺术方面的课程似乎与计算机科学本身无直接关系,但是这些课程对于个人修养,个人与集体、社会的和谐共处均能起到潜移默化的重要作用。我国许多高校也开设了有关人文、艺术、写作等方面的课程,但是这些课程往往作为选修课程而不是必修课程开设,学生因为这些课程既不是专业课程又不是必修课程而不够重视,通常不选或者只是为了学分而选。由于缺乏这些方面的培养和训练,他们在需要作正式的书面表达(例如写简历、撰写毕业论文)时往往感觉力不从心,在迈出校园融入社会时常常感到手足无措。因此,除了计算机专业知识以外,我国高校计算机专业的课程设置中有必要选取一些这类课程作为必修课程,以强化学生的个人修养以及个人与社会的和谐关系。
2.课程分级
伊利诺伊大学芝加哥分校计算机系将开设的课程按照深浅程度分成5个等级,本科阶段涉及1~4级的课程,研究生阶段的课程为4~5级,即1~3级的课程面向本科生开设,4级课程为本科生和研究生的共选课程,5级课程一般仅面向研究生开设。在本科的四个学年中第一学年开设的课程为1级的入门课程,第二学年开设2级课程,一般在第二学年的第二学期加入第3级课程,第三学年的课程以3级课程为主,到了第四年开设第4级课程。对于研究生而言,4级课程为研究阶段的基础课程,5级课程为主要课程。
每门课程除了有明确的等级外,还明确规定了学生选修该门课程需要具备的前提条件(即选修资格)。例如课程CS474“面向对象的语言与环境”需要选修该门课程的学生已经修过CS340“软件设计”这门课程,而CS340又以CS202“数据结构和离散数学II”为基础。一些课程还对已修课程的成绩提出明确要求,例如CS202需要学生已经学习过CS201“数据结构和离散数学I”,并且成绩要达到C以上(即考试成绩至少需要达到70分)方才有资格继续选修CS202。
3.研究生培养
伊利诺伊大学芝加哥分校计算机系是该校重要的学术和研究机构,其研究方向涉及计算机科学的许多领域,设立的重点实验室包括人工智能实验室、虚拟现实实验室、内核及网络安全实验室、数据库及数据挖掘实验室等等。此外,计算机系与生物工程系联合设立了生物信息(Bioinformatics)专业,并且通过与该校医学中心(Medical Center)合作,将计算机科学融入到生物和医学研究中(伊利诺伊大学芝加哥分校的医学中心是美国著名的医学研究机构之一)。
计算机系的每一个研究生在第一学年由系里指定的一名临时指导老师进行指导。学期开始时学生需要与指导老师讨论本学期选修的课程,并且在获得指导老师允许后才可以上课,但是第一学年的指导老师不一定就是以后指导研究工作的导师。许多研究生在第一学年会申请一份TA(Teacher Assistant)的工作(工作包括帮助授课老师给学生进行课后答疑、带实验课、批改作业等等)来减轻家庭或者自己的经济压力。对于研究生来说,尤其对于博士研究生来说,寻找到合适的RA(Research Assistant)才是整个研究生学习阶段非常重要的环节,因为有了RA的工作不仅可以减轻经济压力,而且RA阶段的工作影响到自身的学术研究方向、研究深度以及取得研究成果的可能性。研究生与导师之间的选择是一个双向选择的过程,学生选择合适的导师,导师挑选适合的学生,这一点与我国的研究生培养制度类似,不同的是一般情况下,我国的研究生在入学时指导老师就已经确定,然而对于伊利诺伊大学芝加哥分校计算机系的研究生来说,他们需要在学习过程中寻找合适的导师,并且相比之下,我国的研究生与导师的关系更倾向于学生与老师的教育关系,而在该校研究生与导师的关系更倾向于雇员同老板的雇佣关系,学生的紧迫感比较强,担心因为表现不好不能继续获得导师给予的研究资助。
感受教与学
此次出访伊利诺伊大学芝加哥分校计算机系,让我感受颇深的是它的教学模式。我在访问期间选修了3门计算机专业课程(其中1门4级课程,2门5级课程),通过观察和亲身体验,总结出该系在教学模式上有以下几个特点。
(1)授课与质疑相结合。授课老师非常鼓励学生在听课时质疑,学生可以在老师讲课时随时提问。老师们认为学生能在课堂上质疑是他们正在积极主动学习的最好体现;另外,质疑-解疑的过程不仅可以激发学生的创新思维,对老师自己也能起到相当的作用。一些讨论的问题可能暂时还没有明确的答案,但是探索问题答案的过程更加激发了学生进一步学习的热情。
(2)非常重视学生课后的学习,因为课堂上的学习时间对于学生学习并掌握一门专业课程来说是远远不够的。通常伊利诺伊大学芝加哥分校计算机系的每一次课的课堂时间只有75分钟。对于每周授课两次的一门课程,一学期的授课时间大约在15周左右。老师在课堂上的精讲只是学生学习新内容的开始,每一次上课结束后学生往往需要用2~3倍,甚至更多的时间完成老师布置的阅读作业。一门课程可能没有指定的教科书,但是文章和参考书是学习每门课程必不可少的学习资料。老师通过学生对问题的解答、所写的文章,或者在课堂上的演讲(Presentation)来检查每次作业的完成情况。对于每一门课程的学习,学生都必须付出相当的努力,国内学生的考前突击战在这里行不通。
(3)学术性与实践性相结合。在我所选修的三门课程里,每门课程除了有相当数量的阅读作业外,还有需要编程实现的课程项目(Projects)。课程项目的数量因课程不同而不同,通常为1~3个,并且每个项目都必须在规定的时间内提交。例如课程CS491“构建安全的系统”要求学生在Linux系统下编程,完成对一个给定系统的缓冲区溢出攻击、实现一个具有包过滤功能的简单的入侵检测系统等三个课程项目。学生在这种理论与实践相结合的训练后具有了较强的动手能力和实际解决问题的能力。
(4)注重思维表达(包括口头与书面表达)方面的训练。良好的思维表达能力被认为是专业人才应该具备的素养之一,因此伊利诺伊大学芝加哥分校计算机系非常重视对学生口头和书面表达能力的训练。这种训练不是仅限于要求学生修一门英语写作课。前面已经提到该系的每门课程都配有相当数量的阅读作业和课程项目,伴随这些阅读和编程,学生需要完成若干文章和课堂讲演(Presentation)。在当今信息共享的社会里,良好的思维表达有利于有效地交流信息。学生经过这方面的训练后在撰写学术文章或者在国际学术交流会议上作演讲时往往表现得更加得心应手、从容不迫。
(5)讨论与独立学习相辅。老师非常鼓励学生们在学习中展开讨论,例如该系在每学期中的周五下午会安排一些教授和研究生们开展讨论会。讨论与独立学习相结合是学生们主要的学习方式。
(6)教师工作的专一性。该系的每门课程都配有一名TA,负责帮助授课老师给学生进行课后答疑、带实验课、批改和讲评作业等等。每个老师有专门的办公时间(Office Hour),在此时间内学生可以找到老师讨论问题,除此之外的其他时间,老师则用来专注于教学研究或者学术研究。
伊利诺伊大学芝加哥分校计算机系的计算机教育虽然不能反映美国高校计算机教育的全部,但也是美国高校计算机教育的一个缩影,比如它的教学模式就是美国众多高校计算机科学专业采取的教学模式。与之相比,我国高校的计算机教育有许多方面值得向美国高校的计算机教育学习和借鉴。另一方面,由于我国高校计算机教育有着自己的实际情况,比如在校学生人数远远多于美国高校计算机专业的在校学生人数,学生人数多在无形中给教学和管理都提出更高要求,带来更多困难和压力,所以,如何合理、有效地学习和借鉴美国高校计算机教育的先进性,还需要我们不断地探索。
查看全文
false