首页 > 范文大全 > 正文

美国计算机专业课程体系的调研报告

开篇:润墨网以专业的文秘视角,为您筛选了一篇美国计算机专业课程体系的调研报告范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:在调研了美国中部有代表性的大学后,整理出这些学校计算机专业本科生课程体系建设的共同理念,描述了分层次的课程体系,重点阐述了核心课程的设置情况。通过分析具有代表性的学校的课程体系,以掌握本科教学和实验教学的主流方向,提高教学质量和实验管理能力。

关键词:计算机专业;课程体系;核心课程;教学

为了切实提高计算机学科实验教学水平,在教育部的支持下,国家级实验教学示范中心计算机学科组考察了美国中部多所院校,重点学习了各层次大学计算机科学(CS)和计算机工程(CE/ECE)本科专业的课程设置、实验教学体系、实验环境建设以及实验内容开况,本文重点报告计算机专业课程体系设置的调研情况。

1课程设置理念

每所大学都有自身的特点,但是通过总结不难发现,美国主要高校在计算机专业课程设置的理念上却大同小异,即以学生为本、兴趣培养为基础,在宽厚的理论和实践功底上,将学生培养成为计算机特定方向上的专业人才。

在课程体系建设时,各所大学首先坚持以学生为本。美国高校有公立和私立之分,以排名情况为参考,在相同层次的学校中,私立学校的本科教学质量较高,公立学校的本科学生数量很多,在教学质量上就略逊一筹。但是在课程建设时,各学校都是充分考虑为学生服务的,而私立学校学费高,考虑得就更周到一些。从低年级到高年级,课程由浅入深、层次清晰。在大多数学校,学生入学时可以多专业任选,每个专业都会将本学科的特点和作用以最浅显的方式展现给学生。换句话说,如果学生选择了计算机学科,就意味着他是对这个学科有浓厚兴趣的,整个培养课程体系都是来满足其兴趣要求的。当然,课程设置会充分考虑学生的能力,学分要求不是很高,课程的数量尤其是必修课程数量不多,核心课程最多不超过10门,更加强调专业基础[1-2],这一点将在核心课程设置部分详细阐述。

其次,在强调宽厚基础的同时,课程设置注重理论与实践相结合。在低年级课程中,几乎所有大学都开设了交流与写作课程(详细内容参见附录1),几乎所有课程中都有各种形式的实验,实验大多是以项目(Project)来设立的,每门课的项目数量不多,内容由简入难,使学生将所学知识逐步深入运用起来。理论课程与实验课程是紧密结合的,学校根据课程的特点合理分配理论和实验课时,让学生通过实践彻底领会理论的实质和内涵。

大学是培养人才的摇篮,不同层次的院校对自身所培养的人才有不同的定位。在课程体系建立时,各所学校都依据自身情况设定不同的人才培养方向。学生有较大的深入学习和发展空间,为成为有用人才打下坚实基础。广度和深度的学科方向设定情况将在下文详细说明。

2课程体系

各大学基本上按层次划分课程,同时采用了和我们相似的必修课\限选课\任选课方法。但美国必修课

的数量大大压缩,主要核心课程一般控制在10门以内,其他课程被分成若干个方向(Track或Breadth和Depth),学生根据需要选择1~2个方向来学习。

综合各学校课程体系,我们基本能够得到类似图1所示的课程层次结构图。

其中的基础课程主要是交流(Communication)与表达(Presentation)或者类似课程。广度(Breadth)和深度(Depth)课程是联系紧密的,是深入学习的不同方向,深度课程是在广度课程基础上的深化和加强,图1所列方向以西北大学的课程体系为主(各学校方向设定方式和具体课程设置情况参见附录2)。其他学校的方向略有不同,本文主要关注课程体系设置的方式及其核心课程设定,这里不一一列举各所学校的详细方向设定,核心课程的设定情况参见下节。

3核心课程

各个学校在核心课程上很相似,数量也不多。有些学校的计算机专业和电子计算机工程的核心课程差别较大(例如UIUC),我们就分别列举出来,如果差别不很大,我们就选择更具有代表性的设置方式,具体课程如表1所示。

图1课程体系结构图

表1核心课程列表

学校 课程

UIUC(CS)[1-2] CS 125 Intro to Computer Science

CS 173 Discrete Structures

CS 210 Ethical and Professional Issues in CS

CS 225 Data Structure and Software Principles

CS 231 Computer Architecture I

CS 232 Computer Architecture II

CS 241 System Programming

CS 242 Programming Studio

CS 373 (was CS 273) Theory of Computation

UIUC(ECE) ECE 110 - Introduction to Electrical & Computer Engineering

ECE 190 - Intro to Computing Systems

ECE 210 - Analog Signal Processing

ECE 290 - Computer Engineering I

ECE 329 - Introduction to Electromagnetic Fields

ECE 385 - Digital Systems Laboratory

ECE 391 - Computer Systems Engineering

ECE 411 - Computer Organization & Design

ECE 440 - Solid State Electronic Devices

CS 225 - Data Structure & Software Principles

普度大学[3] CS 18000 Programming I

CS 18200 Foundations of Computer Science

CS 24000 Programming in C

CS 25000 Computer Architecture

CS 25100 Data Structures

CS 35200 Compilers: Principles and Practice

CS 35400 Operating Systems

CS 38100 Introduction to the Analysis of Algorithms

西北大学[4-9] EECS 101 C An Introduction to Computer Science For Everyone

EECS 111 C Fundamentals of Computer Programming I

EECS 211 C Fundamentals of Computer Programming II

EECS 213 C Introduction to Computer Systems

EECS 310 C Discrete Mathematics

EECS 311 C Introduction to Data Structures

IIT CS100 Introduction to the Profession

CS115 Object-Oriented Programming I

CS116 Object-Oriented Programming II

CS330 Discrete Structures

CS331 Data Structure and Algorithms

CS350 Computer Organization /Assembly Language Programming

CS351 System Programming

CS430 Induction to Algorithm

CS440 Programming Language/Translators

CS485 Computer in Society

芝加哥大学[10] CMSC 15100(Introduction to Computer Science I) or 16100(Honors Introduction to Computer Science I), and

CMSC 15200(Introduction to Computer Science II) or 16200(Honors Introduction to Computer Science II)

CMSC 15300(Foundations of Software)

CMSC 15400(Introduction to Computer Systems)

CMSC 27100(Discrete Mathematics)

CMSC 27200(Theory of Algorithms)

综合各学校核心课程设置情况不难发现,目前国内的很多核心课程,在这些学校已经变成了学生的限选或选修课,例如编译原理、操作系统、人工智能和网络原理等,作为可选的方向变成了方向性的课组,学生可以根据爱好选择一类同方向的课程。核心课程的设置具有以下特点:

1) 包括一门计算机入门课程,例如UIUC的CS125、西北大学的EECS 101、普度大学的CS 18200、IIT的CS100、芝加哥大学的CMSC 15100或16100。这些课程整体地而不是深入到某一方向介绍计算机各个领域的知识,让学生了解并产生兴趣,以便他们喜欢计算机专业,以后能够根据自己的爱好选择方向。

2) 包括一门必需的数学基础课程,专业必需的数学课程设定了离散数学,其他如随机数学、图论等,也作为特定学科方向的方向性课组选择开设。

3) 包括至少一门编程课。这类课程一般安排在较早的学期,让学生尽早掌握编程技巧,提高用计算机解决实际问题的能力。目前来看,第1门编程课多数是C语言,也有个别学校一开始使用Pathon,后来转换成C,或者直接用Java作为入门编程语言。

4) 各个学校无一例外将数据结构作为一门核心课,有些学校的CS会在数据结构课上安排一些算法内容。

5) 计算机组成和体系结构也被安排进了核心课,虽然各个学校的课程名称不尽相同。该课主要介绍计算机的组成,阐述它是如何工作的,CS偏向介绍系统如何工作、能做什么,而ECE偏向结构组成,这些在实验上也有充分体现。我们将在下一篇文章中专门讨论,这里不赘述。

在课程体系设立上,各个学校可谓大同小异,但是“小异”之处大多体现着学校特点。在核心课程设定中,有3所学校将算法类课程设为核心课程,也有个别学校将操作系统设为核心课程。

4反思

通过对美国中部UIUC、伊利诺伊理工、芝加哥大学、西北大学和普度大学这5所大学的调研,我们整理出了这5所学校本科生课程体系建设的共同理念,描述了分层次的课程体系,重点阐述了核心课程的设置情况。相比之下,目前国内计算机专业的课程体系设立的核心课程数量过多,导致学生压力大,不能集中精力深入学习,影响教学质量。此外,我们缺少对学生学习兴趣的引导,入门课程的学科基础普及教学没有得到足够重视,在对本科生在学科方向上的引导和开放学生的自由选择空间方面也有欠缺,这些问题都值得从事计算机专业教学的同行们深思。

参考文献:

[1] UIUC计算机系. 2009 UIUC计算机专业课程设置[EB/OL]. [2010-02-20]. courses.illinois.edu/cis/2009/ fall/catalog/CS/.

[2] UIUC计算机系.UIUC计算机本科课程设置[EB/OL]. [2010-02-20]. cs.illinois.edu/undergraduates/academics.

[3] Purdue计算机系. Purdue’s Undergraduate Curriculum[EB/OL]. [2010-02-20]. www.cs.purdue.edu/academic_ programs/undergraduate/curriculum/bachelor/.

[4] Northwestern EECS系. EECS Courses Introduction[EB/OL]. [2010-02-20]. www.eecs.northwestern.edu/academics/ course/.

[5] Northwestern EECS系. EECS213 Intro to Computer Systems[EB/OL]. [2010-02-20]. www.cs.northwestern. edu/~pdinda/icsclass/.

[6] Northwestern EECS系. EECS 340 Intro to Networking[EB/OL]. [2010-02-20]. www.cs.northwestern.edu/~ychen/classes/cs340-w08/.

[7] Northwestern EECS系. EECS 343Intro to OS[EB/OL]. [2010-02-20]. www.aqualab.cs.northwestern.edu/ classes/eecs-343-f09/.

[8] Northwestern EECS系. EECS311 Data Structures[EB/OL]. [2010-02-20]. www.cs.northwestern.edu/academics/ courses/311/.

[9] Northwestern EECS系. EECS 350 Intro to Computer Security[EB/OL]. [2010-02-20]. www.cs.northwestern. edu/~ychen/classes/cs350-w07/.

[10] 芝加哥大学计算机系. UChicago 计算机专业课程设置[EB/OL]. [2010-02-20]. www.cs.uchicago.edu/maps.

Survey of Computer Major Curriculum System of USA

QUAN Cheng-bin, LI Shan-shan

(Computer Education and Experiment Center, Tsinghua University, Beijing 100084, China)

Abstract: We describe the computer major curriculum system and the curriculum construction idea after the survey of typical colleges in the midland of USA. According to the analysis of the curriculum system, we want to find out the main direction on teaching and experiment in order to improve the teaching quality and experiment level.

Key words: computer major; curriculum system; key course; teaching

附录1:写作和演讲课程

除了核心课程是必修外,大多数学校安排了演讲或写作类课程为必修课,通过这些课程培养学生的交流和写作能力,并在以后的课程中使用。表1是这5所大学的演讲或写作类课程。

表15所大学的演讲或写作类课程[1-4][10]

学校 课程

UIUC(CS) Composition I

Advanced Composition - can be completed by choosing one of the following options - see technical track requirements below for details: CS 427 and CS 429; CS 492 and CS 493; CS 499

UIUC(ECE) RHET 105 - Principles of Composition

西北大学 Communication Skills

普度大学 ENGL 106, 108 Tech Writing/Presenting or Tech Writing Tech Presenting

IIT COM421 or COM428 Technical Communication or Verbal and Visual Communication

附录2:课程方向

在选修课程上,各个学校根据自身情况将课程分成了不同方向(Track)。UIUC计算机专业(CS)具有代表性,而西北大学刚刚调整好课程体系,整个课程层次明晰,因此这里主要介绍这两所学校的课程方向。

1UIUC(CS)选修课程

UIUC(CS)的选修课程分为如下三个方向:

1)CS Track。

2)Computational Science and Engineering (CSE) Track。

3)Math Track。

1.1CS Track(CS方向)

表2是UIUC的CS方向的课程设置及相应学时。

其中在Specialization中,根据不同方向又细分为以下几个方向课程,学生必须选择其中1个方向的课程[1-2]:

表2UIUC的CS方向课程设置及学时[1-2]

学时 课程设置

3 CS 357 (was CS 257) Numerical Methods I

3 CS 421 Programming Languages and Compilers

3 CS 473 Algorithms

6 Specialization (select one from the list below)

6 Two additional CS 400-level courses numbered 410-489 or 498

3~6 One of the following thesis/project options:

CS 499 Senior Thesis, CS 492 Senior Project in CS I, and either CS 493 Senior Project in CS II ACP, or CS 494 Senior Project in CS III, CS 427 Software Engineering I, and either CS 428 Software Engineering II or CS 429 Software Engineering II, ACP (Note: CS 429 is identical to CS 428 with an additional writing component. Likewise, CS 493 is identical to CS 494 with an additional writing component.)

1)Systems。

(1)CS 423 Operating Systems Design。

(2)CS 431 Embedded Systems or CS 433 Computer System Organization。

2)Databases (任选2门)。

(1)CS 410 Intro to Text Info Systems (3 hours)。

(2)CS 411 Database Systems。

(3)CS 412 Intro to Data Mining (3 hours)。

3)Graphics (任选2门)

(1)CS 414 Multimedia Systems。

(2)CS 418 Computer Graphics I。

(3)CS 419 Production Computer Graphics。

4)Human-Computer Interaction。

(1)CS 465 User Interface Design (required)。

(2)再任选1门。

①CS 498 Special Topics in CS, section KK Social Computing。

②CS 498 Special Topics in CS, section KK Social Visualization。

5)Languages。

(1)CS 422 Programming Language Design。

(2)CS 426 Compiler Construction。

6)Artificial Intelligence (任选2门)。

(1)CS 440 Artificial Intelligence。

(2)CS 443 Introduction to Robotics。

(3)CS 446 Machine Learning。

(4)CS 412 Intro to Data Mining。

7)Security (任选2门)。

(1)CS 461 Computer Security I。

(2)CS 463 Computer Security II。

(3)CS 460 Security Laboratory。

8)Networking (任选2门)。

(1)CS 438 Communication Networks(required)。

(2)CS 425 Distributed Systems or CS 439 Wireless Networks。

1.2CSE Track(CSE方向)

表3是UIUC的CSE方向的课程设置及相应学时。

表3UIUC的CSE方向课程设置相应学时[1-2]

学时 课程设置

3 CS 421 Programming Languages and Compilers

3 CS 473 Algorithms

3 Math 441 Differential Equations

3 CS 357 Numerical Methods I

3 CS 457 Numerical Methods II or CS 450 Numerical Analysis

9 Scientific Concentration (See list below)

3 CS 499 Senior Thesis

与CS类似,学生在专业方向(Scientific Concentration)中要选择1门课程,内容如下[1-2]:

1)Aerospace Engineering: AE 201 and 252, plus either AE 311 and 312, or AE 352 and 353。

2)Applied Mathematics:Any three of MATH 442, 446, 481, 488, or 489。

3)Astronomy:ASTR 210 plus any two of ASTR 350, 404, 405, 406, or 414。

4)Atmospheric Sciences:ATMS 300 plus any two of ATMS 401, 402, 403, or 410。

5)Biology:IB 150 and MCB 150 plus either IB 204 or MCB 250。

6)Biomedical Instrumentation:ECE 210, 414, and 415。

7)Biomolecular Engineering:Any three of CHBE 471, 472, 473, 474。

8)Chemical Engineering:CHBE 221, 321, and 421。

9)Chemistry: CHEM 104/105, 222 and 223, and 232。

10)Control:GE 320 plus any two of GE 420, GE 424, or ECE 486。

11)Electrical Engineering:ECE 329 plus any two of ECE 440, 441, 442, 450, or 452。

12)Engineering Mechanics:TAM 210 or 211, TAM 212, and any one of TAM 251, 335, or 470。

13)Environmental Engineering:CEE 330 plus any two of CEE 434, 437, 442, 443, or 444。

14)Genetics:ANSC 340, 441, and 446 or 447; or MCB 250, 418, and 421。

15)Geology:GEOL 107, 108, and any one of GEOL 401, 411, 432, 440, or 452。

16)Manufacturing Engineering:MFGE 310 plus any two of MFGE 420, 430, or 450。

17)Materials Science:MSE 280 plus any two of MSE 304, 401, 402, 420, or 450。

18)Mechanical Engineering:Any three of ME 300, 310, 320, 330, 340, 370, or 371。

19)Modeling and Simulation:Any three of ANSC 448, ECE 475, GEOG 468, MSE 482, or MSE 485。

20)Neuroscience:MCB 414 or PSYC 404 plus any two of MCB 412, 415, 416, 417, 419, PSYC 414, 415。

21)Nuclear Engineering:NPRE 247 plus any two of NPRE 402, 412, or 455。

22)Operations Research:IE 310 and any two of IE 410/CS 481, IE 411, IE 412, IE 413/CS 482。

23)Optimization:Any three of ECE 490, IE 411, MATH 482, or MATH 484。

24)Physics:PHYS 325 plus any two of PHYS 326, 402, 427, 435, 436, 460, or 485。

25)Plasma Engineering:ECE 329 or PHYS 435 plus NPRE 421 and 429。

26)Psychology:Any three of PSYC 210, 224, 248, 321, 358, 414。

27)Radiological Engineering:NPRE 446 plus any two of NPRE 435, 441, or 447。

28)Robotics:GE 320, 421, and 422。

29)Signal and Image Processing:ECE 210 plus any two of ECE 280, 410, 418, or 480。

30)Statistics:STAT 410 plus any two of STAT 420, 424, 425, 426, 428, or 429。

3)EECS 352 C Machine Perception of Music。

4)EECS 370 C Computer Game Design。

5)EECS 332 C Digital Image Analysis。

6)EECS 395 C Intermediate Computer Graphics。

7)EECS 395 C Advanced Computer Graphics。

8)EECS 395/495 C Computer Animation。

9)EECS 395/495 C Graphics and Perception。

10)EECS 395/495 C Image-based Modeling and Rendering。

11)EECS 395/495 C Human-centered Product Design。

2.3.5Software Development

1)EECS 338 C Practicum in Intelligent Information Systems。

2)EECS 394-1,2 C Software Project Management。

3)EECS 395 C RTFM courses。

2.4深度课程

学生同时应该在两个方向深入学习,每个方向至少选择3门课程:

2.4.1Theory

1)EECS 336 C Design and Analysis of Algorithms。

2)MATH 308 C Graph Theory (added for 2008-09)。

3)MATH 374 C Theory of Computability and Turing Machines。

4)EECS 395/495 C Current Topics in Algorithms。

5)EECS 457 C Advanced Algorithms。

6)EECS 328 C Numerical Methods。

7)EECS 335 C Introduction to the Theory of Computation。

8)EECS 356 C Formal Specification and Verification。

9)EECS 357 C Introduction to VLSI CAD。

10)EECS 395/495 C Algorithms for Bioinformatics。

11)EECS 395/495 C Algorithmic Research for e-Commerce。

12)EECS 459 C VLSI Algorithmics。

13)EECS 399 C Independent Study。

2.4.2Systems

1)EECS 322 C Compiler Construction。

2)EECS 339 C Introduction to Databases。

3)EECS 340 C Introduction to Networking。

4)EECS 343 C Operating Systems。

5)EECS 361 C Computer Architecture。

6)EECS 345 C Distributed Systems。

7)EECS 350 C Introduction to Security。

8)EECS 354 C Network Penetration & Security。

9)EECS 358 C Parallel Systems。

10)EECS 395 C Appropriate Selected Topics - with advisor approval。

11)EECS 440 C Advanced Networking。

12)EECS 441 C Resource Virtualization。

13)EECS 442 C Dynamic Behavior of Applications, Hosts, and Networks。

14)EECS 443 C Advanced Operating Systems。

15)EECS 450 C Internet Security。

16)EECS 464 C Advanced Databases。

17)EECS 399 C Independent Study。

2.4.3Artificial Intelligence

1)EECS 325 C AI Programming。

2)EECS 337 C Semantic Information Processing。

3)EECS 344 C Design of Computer Problem Solvers。

4)EECS 348 C Introduction to AI。

5)EECS 349 C Machine Learning。

6)EECS 360 C Models with Multi-agent Languages。

7)EECS 395/495 C AI For Interactive Entertainment。

8)EECS 395/495 C Knowledge Representation。

9)EECS 395/495 C Behavior-based Robotics。

10)EECS 399 C Independent Study。

2.4.4Interfaces

1)EECS 330 C Human-Computer Interaction。

2)EECS 351 C Introduction to Computer Graphics。

3)EECS 352 C Machine Perception of Music。

4)EECS 370 C Computer Game Design。

5)EECS 332 C Digital Image Analysis。

6)EECS 395 C Intermediate Computer Graphics。

7)EECS 395 C Advanced Computer Graphics。

8)EECS 395/495 C Computer Animation。

9)EECS 395/495 C Graphics and Perception。

10)EECS 395/495 C Image-based Modeling and Rendering。

11)EECS 395/495 C Human-centered Product Design。

12)EECS 399 C Independent Study。

2.4.5Security

1)EECS 350 C Introduction to Computer Security。

2)EECS 450 C Internet Security。

3)EECS 510-4 Computer Security and Information Assurance。

4)EECS 322 C Compiler Construction。

5)EECS 339 C Introduction to Database Systems。

6)EECS 340 C Introduction to Networking。

7)EECS 343 C Operating Systems。

8)EECS 345 C Distributed Systems。

9)EECS 354 C Network Penetration and Security。

10)EECS 395 C Appropriate Selected Topics - with advisor approval。

11)EECS 440 C Advanced Networks。

12)EECS 441 C Resource Virtualization。

13)EECS 443 C Advanced Operating Systems。

14)EECS 399 C Independent Study。

2.5课程设计

学生应该至少选择两个学期的课程设计类课程,主要内容如下:

1)一个两学期的EECS 399 Project。

2)两个一学期的EECS 399 Projects。

3)一个EECS 399 Project和一门课程设计。

4)两门课程设计。