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

第15期 计算机教育

2010年8月10日 Computer Education No.15 Aug.10,2010 7

文章编号:1672-5913(2010)15-0007-09 中图分类号:G642 文献标识码:B

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

全成斌,李山山

(清华大学 计算机实验教学中心,北京 100084)

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

1 课程设置理念

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

在课程体系建设时,各所大学首先坚持以学生为本。美国高校有公立和私立之分,以排名情况为参考,在相同层次的学校中,私立学校的本科教学质量较高,公立学校的本科学生数量很多,在教学质量上就略逊一筹。但是在课程建设时,各学校都是充分考虑为学生服务的,而私立学校与UIUC 教师合影(左一为赵有健老师,右一为本文作者全成斌)

学费高,考虑得就更周到一些。从低

为了切实提高计算机学科实验教学水平,在教育年级到高年级,课程由浅入深、层次清晰。在大多数部的支持下,国家级实验教学示范中心计算机学科组学校,学生入学时可以多专业任选,每个专业都会将考察了美国中部多所院校,重点学习了各层次大学计本学科的特点和作用以最浅显的方式展现给学生。换句算机科学(CS)和计算机工程(CE/ECE)本科专业的课话说,如果学生选择了计算机学科,就意味着他是对这程设置、实验教学体系、实验环境建设以及实验内容个学科有浓厚兴趣的,整个培养课程体系都是来满足开发情况,本文重点报告计算机专业课程体系设置的其兴趣要求的。当然,课程设置会充分考虑学生的能调研情况。 力,学分要求不是很高,课程的数量尤其是必修课程

计算机教育

8

Computer Education

2010

数量不多,核心课程最多不超过10门,更加强调专业基础[1-2],这一点将在核心课程设置部分详细阐述。

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

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

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

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

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

3 核心课程

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

2 课程体系

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

图1 课程体系结构图

第15期

专 题 策 划

表1 核心课程列表

学 校

课 程

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

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 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

EECS 101 – An Introduction to Computer Science For Everyone EECS 111 – Fundamentals of Computer Programming I EECS 211 – Fundamentals of Computer Programming II EECS 213 – Introduction to Computer Systems EECS 310 – Discrete Mathematics

EECS 311 – Introduction to Data Structures 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

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)

9

UIUC(CS)[1-2]

UIUC(ECE)

普度大学[3]

西北大学[4-9]

IIT

芝加哥大学[10]

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

1) 包括一门计算机入门课程,例如UIUC 的CS125、西北大学的EECS 101、普度大学的CS 18200、IIT 的CS100、芝加哥大学的CMSC 15100或16100。

这些课程整体地而不是深入到某一方向介绍计算机各个领域的知识,让学生了解并产生兴趣,以便他们喜欢计算机专业,以后能够根据自己的爱好选择方向。

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

3) 包括至少一门编程课。这类课程一般安排在较早的学期,让学生尽早掌握编程技巧,提高用计算机解决实际问题的能力。目前来看,第1门编程课多

计算机教育

10

Computer Education

2010

数是C 语言,也有个别学校一开始使用Pathon ,后来转换成C ,或者直接用Java 作为入门编程语言。

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

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

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

参考文献:

4 反思

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

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

fall/catalog/CS/.

[2] UIUC 计算机系. UIUC 计算机本科课程设置[EB/OL]. [2010-02-20]. http://cs.illinois.edu/undergraduates/academics. [3] Purdue计算机系. Purdue’s Undergraduate Curriculum[EB/OL]. [2010-02-20]. http://www.cs.purdue.edu/academic_

programs/undergraduate/curriculum/bachelor/.

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

course/.

[5] Northwestern EECS系. EECS213 Intro to Computer Systems[EB/OL]. [2010-02-20]. http://www.cs.northwestern.

edu/~pdinda/icsclass/.

[6] Northwestern EECS系. EECS 340 Intro to Networking[EB/OL]. [2010-02-20]. http://www.cs.northwestern.edu/~

ychen/classes/cs340-w08/.

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

classes/eecs-343-f09/.

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

courses/311/.

[9] Northwestern EECS系. EECS 350 Intro to Computer Security[EB/OL]. [2010-02-20]. http://www.cs.northwestern.

edu/~ychen/classes/cs350-w07/.

[10] 芝加哥大学计算机系. UChicago 计算机专业课程设置[EB/OL]. [2010-02-20]. http://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

第15期 计算机教育

2010年8月10日 Computer Education No.15 Aug.10,2010 11

附录1:写作和演讲课程

除了核心课程是必修外,大多数学校安排了演讲或写作类课程为必修课,通过这些课程培养学生的交

流和写作能力,并在以后的课程中使用。表1是这5

所大学的演讲或写作类课程。

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

学 校

Composition I

UIUC(CS) UIUC(ECE) 西北大学 普度大学 IIT

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 RHET 105 - Principles of Composition Communication Skills

ENGL 106, 108 Tech Writing/Presenting or Tech Writing Tech Presenting

COM421 or COM428 Technical Communication or Verbal and Visual Communication

课 程

附录2:课程方向

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

2) Computational Science and Engineering (CSE)

Track 。

3) Math Track。

1.1 CS Track(CS方向)

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

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

[1-2]

1 UIUC(CS)选修课程

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

1) CS Track。

表2 UIUC的CS 方向课程设置及学时

学 时

473 Algorithms 6 6

Specialization (select one from the list below)

Two additional CS 400-level courses numbered 410-489 or 498 One of the following thesis/project options:

课程设置

3~6

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.)

计算机教育

12

Computer Education

2010

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.2 CSE Track(CSE方向)

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

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

学 时

课程设置

3 3 CS 473 Algorithms

3 Math 441 Differential Equations 3 3 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。

第15期

专 题 策 划

13

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。

31) Structural Engineering:CEE 360 plus any two of CEE 470, 471, or 472。

1.3 Math Track (Math方向)

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

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

学 时

课程设置

421 Programming Languages and Compilers 441 Differential Equations 6/3

3 9

Three additional 400-level Math courses

2 西北大学课程层次

西北大学将课程分为5个部分,分别是基础课程(Background)、核心课程(Core)、广度课程(Breadth)、深度课程(Depth)和课程设计(Project)。

2.1 基础课程

基础课程为基本要求的课程,主要是数学基础课等。有以下几个方面的课程[4]:

1) Continuous Mathematics。 2) Probability and Statistics。 3) Physical and Life Sciences。

4) Social Sciences and the Humanities。 5) Communication Skills。 对于从未编过程序的学生,需要选择下列课程中的1门:

1) EECS 110 (C) – An Introduction to Programming for Non-majors using the C。

2) EECS 110 (Python)–An Introduction to Programming for Non-majors using the Python。

2.2 核心课程

以下课程每个计算机专业学生必修[4]: 1) EECS 101 – An Introduction to Computer Science For Everyone。

2) EECS 111 – Fundamentals of Computer Programming I。

3) EECS 211 – Fundamentals of Computer Programming II。

4) EECS 213 – Introduction to Computer Systems。 5) EECS 310 – Discrete Mathematics。

6) EECS 311 – Introduction to Data Structures。

2.3 广度课程

这类课程包含了计算机专业的各个方向,学生应

大体知道,不需要深入链接,因此他们可以在每个方向上选择1门课程[4]: 2.3.1 Theory

1) EECS 336 – Design and Analysis of Algorithms。

计算机教育

14

Computer Education

2010

2) MATH 374 – Theory of Computability and Turing Machines。

3) EECS 328 – Numerical Methods。

4) EECS 335 – Introduction to the Theory of Computation 。

5) EECS 356 – Formal Specification and Verification 。 2.3.2 Systems

1) EECS 322 – Compiler Construction。 2) EECS 339 – Introduction to Databases。 3) EECS 340 – Introduction to Networking。 4) EECS 343 – Operating Systems。 5) EECS 303 – Digital Logic Design。 6) EECS 345 – Distributed Systems。

7) EECS 346 – Microprocessor Systems Design。 8) EECS 350 – Introduction to Security。 9) EECS 358 – Parallel Systems。 10) EECS 361 – Computer Architecture。 11) EECS 397 – Real-time Systems。 12) EECS 440 – Advanced Networking。 13) EECS 441 – Resource Virtualization。 14) EECS 442 – Dynamic Behavior of Applications, Hosts, and Networks。

15) EECS 443 – Advanced Operating Systems。 16) EECS 450 – Internet Security。 17) EECS 464 – Advanced Databases。 2.3.3 Artificial Intelligence

1) EECS 325 – AI Programming。

2) EECS 337 – Semantic Information Processing。 3) EECS 344 – Design of Computer Problem Solvers。 4) EECS 348 – Introduction to AI。 5) EECS 349 – Machine Learning。

6) EECS 360 – Models with Multi-agent Languages。 7) EECS 395/495 – AI For Interactive Entertainment。 8) EECS 395/495 – Knowledge Representation。 9) EECS 395/495 – Behavior-based Robotics。

2.3.4 Interfaces

1) EECS 330 – Human-Computer Interaction。 2) EECS 351 – Introduction to Computer Graphics。 3) EECS 352 – Machine Perception of Music。 4) EECS 370 – Computer Game Design。 5) EECS 332 – Digital Image Analysis。 6) EECS 395 – Intermediate Computer Graphics。 7) EECS 395 – Advanced Computer Graphics。 8) EECS 395/495 – Computer Animation。 9) EECS 395/495 – Graphics and Perception。 10) EECS 395/495 – Image-based Modeling and

Rendering 。

11) EECS 395/495 – Human-centered Product Design。 2.3.5 Software Development

1) EECS 338 – Practicum in Intelligent Information Systems 。

2) EECS 394-1,2 – Software Project Management。 3) EECS 395 – RTFM courses。

2.4 深度课程

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

1) EECS 336 – Design and Analysis of Algorithms。 2) MATH 308 – Graph Theory (added for 2008-09)。 3) MA TH 374 – Theory of Computability and Turing Machines 。

4) EECS 395/495 – Current Topics in Algorithms。 5) EECS 457 – Advanced Algorithms。 6) EECS 328 – Numerical Methods。

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

8) EECS 356 – Formal Specification and Verification 。 9) EECS 357 – Introduction to VLSI CAD。 10) EECS 395/495 – Algorithms for Bioinformatics。

第15期

专 题 策 划

15

11) EECS 395/495 – Algorithmic Research for 2) EECS 351 – Introduction to Computer Graphics。 e-Commerce 。

12) EECS 459 – VLSI Algorithmics。 13) EECS 399 – Independent Study。 2.4.2 Systems

1) EECS 322 – Compiler Construction。 2) EECS 339 – Introduction to Databases。 3) EECS 340 – Introduction to Networking。 4) EECS 343 – Operating Systems。 5) EECS 361 – Computer Architecture。 6) EECS 345 – Distributed Systems。 7) EECS 350 – Introduction to Security。

8) EECS 354 – Network Penetration & Security。 9) EECS 358 – Parallel Systems。

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

11) EECS 440 – Advanced Networking。 12) EECS 441 – Resource Virtualization。 13) EECS 442 – Dynamic Behavior of Applications, Hosts, and Networks。

14) EECS 443 – Advanced Operating Systems。 15) EECS 450 – Internet Security。 16) EECS 464 – Advanced Databases。 17) EECS 399 – Independent Study。 2.4.3 Artificial Intelligence

1) EECS 325 – AI Programming。

2) EECS 337 – Semantic Information Processing。 3) EECS 344 – Design of Computer Problem Solvers。 4) EECS 348 – Introduction to AI。 5) EECS 349 – Machine Learning。

6) EECS 360 – Models with Multi-agent Languages。 7) EECS 395/495 – AI For Interactive Entertainment。 8) EECS 395/495 – Knowledge Representation。 9) EECS 395/495 – Behavior-based Robotics。 10) EECS 399 – Independent Study。 2.4.4 Interfaces

1) EECS 330 – Human-Computer Interaction。

3) EECS 352 – Machine Perception of Music。 4) EECS 370 – Computer Game Design。 5) EECS 332 – Digital Image Analysis。 6) EECS 395 – Intermediate Computer Graphics。 7) EECS 395 – Advanced Computer Graphics。 8) EECS 395/495 – Computer Animation。 9) EECS 395/495 – Graphics and Perception。 10) EECS 395/495 – Image-based Modeling and Rendering 。

11) EECS 395/495 – Human-centered Product Design。 12) EECS 399 – Independent Study。 2.4.5 Security

1) EECS 350 – Introduction to Computer Security。 2) EECS 450 – Internet Security。

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

4) EECS 322 – Compiler Construction。

5) EECS 339 – Introduction to Database Systems。 6) EECS 340 – Introduction to Networking。 7) EECS 343 – Operating Systems。 8) EECS 345 – Distributed Systems。

9) EECS 354 – Network Penetration and Security。 10) EECS 395 – Appropriate Selected Topics - with advisor approval。

11) EECS 440 – Advanced Networks。 12) EECS 441 – Resource Virtualization。 13) EECS 443 – Advanced Operating Systems。 14) EECS 399 – Independent Study。

2.5 课程设计

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

1) 一个两学期的EECS 399 Project。 2) 两个一学期的EECS 399 Projects。 3) 一个EECS 399 Project和一门课程设计。 4)

两门课程设计。

第15期 计算机教育

2010年8月10日 Computer Education No.15 Aug.10,2010 7

文章编号:1672-5913(2010)15-0007-09 中图分类号:G642 文献标识码:B

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

全成斌,李山山

(清华大学 计算机实验教学中心,北京 100084)

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

1 课程设置理念

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

在课程体系建设时,各所大学首先坚持以学生为本。美国高校有公立和私立之分,以排名情况为参考,在相同层次的学校中,私立学校的本科教学质量较高,公立学校的本科学生数量很多,在教学质量上就略逊一筹。但是在课程建设时,各学校都是充分考虑为学生服务的,而私立学校与UIUC 教师合影(左一为赵有健老师,右一为本文作者全成斌)

学费高,考虑得就更周到一些。从低

为了切实提高计算机学科实验教学水平,在教育年级到高年级,课程由浅入深、层次清晰。在大多数部的支持下,国家级实验教学示范中心计算机学科组学校,学生入学时可以多专业任选,每个专业都会将考察了美国中部多所院校,重点学习了各层次大学计本学科的特点和作用以最浅显的方式展现给学生。换句算机科学(CS)和计算机工程(CE/ECE)本科专业的课话说,如果学生选择了计算机学科,就意味着他是对这程设置、实验教学体系、实验环境建设以及实验内容个学科有浓厚兴趣的,整个培养课程体系都是来满足开发情况,本文重点报告计算机专业课程体系设置的其兴趣要求的。当然,课程设置会充分考虑学生的能调研情况。 力,学分要求不是很高,课程的数量尤其是必修课程

计算机教育

8

Computer Education

2010

数量不多,核心课程最多不超过10门,更加强调专业基础[1-2],这一点将在核心课程设置部分详细阐述。

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

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

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

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

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

3 核心课程

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

2 课程体系

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

图1 课程体系结构图

第15期

专 题 策 划

表1 核心课程列表

学 校

课 程

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

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 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

EECS 101 – An Introduction to Computer Science For Everyone EECS 111 – Fundamentals of Computer Programming I EECS 211 – Fundamentals of Computer Programming II EECS 213 – Introduction to Computer Systems EECS 310 – Discrete Mathematics

EECS 311 – Introduction to Data Structures 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

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)

9

UIUC(CS)[1-2]

UIUC(ECE)

普度大学[3]

西北大学[4-9]

IIT

芝加哥大学[10]

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

1) 包括一门计算机入门课程,例如UIUC 的CS125、西北大学的EECS 101、普度大学的CS 18200、IIT 的CS100、芝加哥大学的CMSC 15100或16100。

这些课程整体地而不是深入到某一方向介绍计算机各个领域的知识,让学生了解并产生兴趣,以便他们喜欢计算机专业,以后能够根据自己的爱好选择方向。

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

3) 包括至少一门编程课。这类课程一般安排在较早的学期,让学生尽早掌握编程技巧,提高用计算机解决实际问题的能力。目前来看,第1门编程课多

计算机教育

10

Computer Education

2010

数是C 语言,也有个别学校一开始使用Pathon ,后来转换成C ,或者直接用Java 作为入门编程语言。

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

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

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

参考文献:

4 反思

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

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

fall/catalog/CS/.

[2] UIUC 计算机系. UIUC 计算机本科课程设置[EB/OL]. [2010-02-20]. http://cs.illinois.edu/undergraduates/academics. [3] Purdue计算机系. Purdue’s Undergraduate Curriculum[EB/OL]. [2010-02-20]. http://www.cs.purdue.edu/academic_

programs/undergraduate/curriculum/bachelor/.

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

course/.

[5] Northwestern EECS系. EECS213 Intro to Computer Systems[EB/OL]. [2010-02-20]. http://www.cs.northwestern.

edu/~pdinda/icsclass/.

[6] Northwestern EECS系. EECS 340 Intro to Networking[EB/OL]. [2010-02-20]. http://www.cs.northwestern.edu/~

ychen/classes/cs340-w08/.

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

classes/eecs-343-f09/.

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

courses/311/.

[9] Northwestern EECS系. EECS 350 Intro to Computer Security[EB/OL]. [2010-02-20]. http://www.cs.northwestern.

edu/~ychen/classes/cs350-w07/.

[10] 芝加哥大学计算机系. UChicago 计算机专业课程设置[EB/OL]. [2010-02-20]. http://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

第15期 计算机教育

2010年8月10日 Computer Education No.15 Aug.10,2010 11

附录1:写作和演讲课程

除了核心课程是必修外,大多数学校安排了演讲或写作类课程为必修课,通过这些课程培养学生的交

流和写作能力,并在以后的课程中使用。表1是这5

所大学的演讲或写作类课程。

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

学 校

Composition I

UIUC(CS) UIUC(ECE) 西北大学 普度大学 IIT

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 RHET 105 - Principles of Composition Communication Skills

ENGL 106, 108 Tech Writing/Presenting or Tech Writing Tech Presenting

COM421 or COM428 Technical Communication or Verbal and Visual Communication

课 程

附录2:课程方向

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

2) Computational Science and Engineering (CSE)

Track 。

3) Math Track。

1.1 CS Track(CS方向)

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

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

[1-2]

1 UIUC(CS)选修课程

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

1) CS Track。

表2 UIUC的CS 方向课程设置及学时

学 时

473 Algorithms 6 6

Specialization (select one from the list below)

Two additional CS 400-level courses numbered 410-489 or 498 One of the following thesis/project options:

课程设置

3~6

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.)

计算机教育

12

Computer Education

2010

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.2 CSE Track(CSE方向)

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

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

学 时

课程设置

3 3 CS 473 Algorithms

3 Math 441 Differential Equations 3 3 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。

第15期

专 题 策 划

13

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。

31) Structural Engineering:CEE 360 plus any two of CEE 470, 471, or 472。

1.3 Math Track (Math方向)

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

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

学 时

课程设置

421 Programming Languages and Compilers 441 Differential Equations 6/3

3 9

Three additional 400-level Math courses

2 西北大学课程层次

西北大学将课程分为5个部分,分别是基础课程(Background)、核心课程(Core)、广度课程(Breadth)、深度课程(Depth)和课程设计(Project)。

2.1 基础课程

基础课程为基本要求的课程,主要是数学基础课等。有以下几个方面的课程[4]:

1) Continuous Mathematics。 2) Probability and Statistics。 3) Physical and Life Sciences。

4) Social Sciences and the Humanities。 5) Communication Skills。 对于从未编过程序的学生,需要选择下列课程中的1门:

1) EECS 110 (C) – An Introduction to Programming for Non-majors using the C。

2) EECS 110 (Python)–An Introduction to Programming for Non-majors using the Python。

2.2 核心课程

以下课程每个计算机专业学生必修[4]: 1) EECS 101 – An Introduction to Computer Science For Everyone。

2) EECS 111 – Fundamentals of Computer Programming I。

3) EECS 211 – Fundamentals of Computer Programming II。

4) EECS 213 – Introduction to Computer Systems。 5) EECS 310 – Discrete Mathematics。

6) EECS 311 – Introduction to Data Structures。

2.3 广度课程

这类课程包含了计算机专业的各个方向,学生应

大体知道,不需要深入链接,因此他们可以在每个方向上选择1门课程[4]: 2.3.1 Theory

1) EECS 336 – Design and Analysis of Algorithms。

计算机教育

14

Computer Education

2010

2) MATH 374 – Theory of Computability and Turing Machines。

3) EECS 328 – Numerical Methods。

4) EECS 335 – Introduction to the Theory of Computation 。

5) EECS 356 – Formal Specification and Verification 。 2.3.2 Systems

1) EECS 322 – Compiler Construction。 2) EECS 339 – Introduction to Databases。 3) EECS 340 – Introduction to Networking。 4) EECS 343 – Operating Systems。 5) EECS 303 – Digital Logic Design。 6) EECS 345 – Distributed Systems。

7) EECS 346 – Microprocessor Systems Design。 8) EECS 350 – Introduction to Security。 9) EECS 358 – Parallel Systems。 10) EECS 361 – Computer Architecture。 11) EECS 397 – Real-time Systems。 12) EECS 440 – Advanced Networking。 13) EECS 441 – Resource Virtualization。 14) EECS 442 – Dynamic Behavior of Applications, Hosts, and Networks。

15) EECS 443 – Advanced Operating Systems。 16) EECS 450 – Internet Security。 17) EECS 464 – Advanced Databases。 2.3.3 Artificial Intelligence

1) EECS 325 – AI Programming。

2) EECS 337 – Semantic Information Processing。 3) EECS 344 – Design of Computer Problem Solvers。 4) EECS 348 – Introduction to AI。 5) EECS 349 – Machine Learning。

6) EECS 360 – Models with Multi-agent Languages。 7) EECS 395/495 – AI For Interactive Entertainment。 8) EECS 395/495 – Knowledge Representation。 9) EECS 395/495 – Behavior-based Robotics。

2.3.4 Interfaces

1) EECS 330 – Human-Computer Interaction。 2) EECS 351 – Introduction to Computer Graphics。 3) EECS 352 – Machine Perception of Music。 4) EECS 370 – Computer Game Design。 5) EECS 332 – Digital Image Analysis。 6) EECS 395 – Intermediate Computer Graphics。 7) EECS 395 – Advanced Computer Graphics。 8) EECS 395/495 – Computer Animation。 9) EECS 395/495 – Graphics and Perception。 10) EECS 395/495 – Image-based Modeling and

Rendering 。

11) EECS 395/495 – Human-centered Product Design。 2.3.5 Software Development

1) EECS 338 – Practicum in Intelligent Information Systems 。

2) EECS 394-1,2 – Software Project Management。 3) EECS 395 – RTFM courses。

2.4 深度课程

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

1) EECS 336 – Design and Analysis of Algorithms。 2) MATH 308 – Graph Theory (added for 2008-09)。 3) MA TH 374 – Theory of Computability and Turing Machines 。

4) EECS 395/495 – Current Topics in Algorithms。 5) EECS 457 – Advanced Algorithms。 6) EECS 328 – Numerical Methods。

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

8) EECS 356 – Formal Specification and Verification 。 9) EECS 357 – Introduction to VLSI CAD。 10) EECS 395/495 – Algorithms for Bioinformatics。

第15期

专 题 策 划

15

11) EECS 395/495 – Algorithmic Research for 2) EECS 351 – Introduction to Computer Graphics。 e-Commerce 。

12) EECS 459 – VLSI Algorithmics。 13) EECS 399 – Independent Study。 2.4.2 Systems

1) EECS 322 – Compiler Construction。 2) EECS 339 – Introduction to Databases。 3) EECS 340 – Introduction to Networking。 4) EECS 343 – Operating Systems。 5) EECS 361 – Computer Architecture。 6) EECS 345 – Distributed Systems。 7) EECS 350 – Introduction to Security。

8) EECS 354 – Network Penetration & Security。 9) EECS 358 – Parallel Systems。

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

11) EECS 440 – Advanced Networking。 12) EECS 441 – Resource Virtualization。 13) EECS 442 – Dynamic Behavior of Applications, Hosts, and Networks。

14) EECS 443 – Advanced Operating Systems。 15) EECS 450 – Internet Security。 16) EECS 464 – Advanced Databases。 17) EECS 399 – Independent Study。 2.4.3 Artificial Intelligence

1) EECS 325 – AI Programming。

2) EECS 337 – Semantic Information Processing。 3) EECS 344 – Design of Computer Problem Solvers。 4) EECS 348 – Introduction to AI。 5) EECS 349 – Machine Learning。

6) EECS 360 – Models with Multi-agent Languages。 7) EECS 395/495 – AI For Interactive Entertainment。 8) EECS 395/495 – Knowledge Representation。 9) EECS 395/495 – Behavior-based Robotics。 10) EECS 399 – Independent Study。 2.4.4 Interfaces

1) EECS 330 – Human-Computer Interaction。

3) EECS 352 – Machine Perception of Music。 4) EECS 370 – Computer Game Design。 5) EECS 332 – Digital Image Analysis。 6) EECS 395 – Intermediate Computer Graphics。 7) EECS 395 – Advanced Computer Graphics。 8) EECS 395/495 – Computer Animation。 9) EECS 395/495 – Graphics and Perception。 10) EECS 395/495 – Image-based Modeling and Rendering 。

11) EECS 395/495 – Human-centered Product Design。 12) EECS 399 – Independent Study。 2.4.5 Security

1) EECS 350 – Introduction to Computer Security。 2) EECS 450 – Internet Security。

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

4) EECS 322 – Compiler Construction。

5) EECS 339 – Introduction to Database Systems。 6) EECS 340 – Introduction to Networking。 7) EECS 343 – Operating Systems。 8) EECS 345 – Distributed Systems。

9) EECS 354 – Network Penetration and Security。 10) EECS 395 – Appropriate Selected Topics - with advisor approval。

11) EECS 440 – Advanced Networks。 12) EECS 441 – Resource Virtualization。 13) EECS 443 – Advanced Operating Systems。 14) EECS 399 – Independent Study。

2.5 课程设计

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

1) 一个两学期的EECS 399 Project。 2) 两个一学期的EECS 399 Projects。 3) 一个EECS 399 Project和一门课程设计。 4)

两门课程设计。


相关文章

  • 美国基础教育课程改革述评
  • 成都纺织高等专科学校学报 Journal of Chengdu Textile College 第22卷第1期(总第75期) 2005年1月 Vol.22,No.1(Sum75) 文章编号:1008-5580(2005)01-030-03 ...查看


  • 发达国家农业信息化的特点
  • 中国农村经济 2002.7 发达国家农业信息化的特点赵元凤 健全的.,或单一,.农业信息化不仅使发达国家农业的原,而且使其原有的劣势逐步改善以至消失,极大地提高了发达国. 一.发达国家农业信息体系 由于不同发达国家的农业产业模式和目标不同, ...查看


  • XX医疗医养结合项目可行性研究报告
  • XX 医疗医养结合项目可行性研究报 告 第一章 总论 ............................................................................................. ...查看


  • 重大先进制造技术课程结业报告
  • 新工业革命时代下我国先进制造技术发展战略 摘 要 随着计算机技术.信息技术.网络技术的快速发展,人类社会已经步入"互联网+"时代,而以智能制造为主导的第四次工业革命-新工业革命时代也拉开序幕.本文在分析新工业革命时代下国 ...查看


  • 实验教学质量评价与指标体系建立
  • 第30卷第2期 唐山师范学院学报 2008年3月 Vol.30 No.2 Journal of Tangshan Teachers College Mar. 2008 实验教学质量评价与指标体系建立 史智平 (宝鸡文理学院 物理系,陕西 宝 ...查看


  • 互联网+医疗养老院项目可行性研究报告行业分析
  • 互联网+医疗养老院项目 可行性研究报告行业分析 目 录 第一章 总论 .................................................................... 4 1.1 项目名称 ..... ...查看


  • 美国知识产权密集型产业测度方法研究_赵喜仓
  • 2013年7月第15卷 第4期 江苏大学学报(社会科学版) ()JournalofJiansuUniversitSocialScienceEdition gy Jul2013y Vol.15No.4 美国知识产权密集型产业测度方法研究 赵喜 ...查看


  • 美国远程高等教育考察报告
  • 21世纪时知识经济时代,随着计算机技术等高新技术的应用和发展,远程教育作为一种全新的教学方式越来越受到人们的重视.它以计算机网络以及卫星数字通讯技术为支撑,具有时空自由.资源共享开放.便于协作等优点. 世界各国在发展现代远程教育时深刻认识到 ...查看


  • 21世纪世界教育发展的五大趋势
  • 21 世纪世界教育发展的五大趋势[转载] 一.21 世纪课程 "从有历史以来,大部分的学者都表现着一个特征:忽 视了现实与未来",这是美国未来学会理事席科尼希喜欢说 的一句话. 一般的学者,本性上都认为搜集.研究.传扬古 ...查看


热门内容