过期域名预定抢注

 找回密碼
 免费注册

美國大學計算機教育漫談

[複製鏈接]
發表於 2005-3-20 19:30:10 | 顯示全部樓層 |閱讀模式
作者:美國紐約市立大學 鍾京馗
& p, R0 i( Z% c* H$ U! h9 i+ q. b+ g9 S, h3 S- p8 c
前言
' {7 Y6 I: y) X; w前幾天收到《CSDN開發高手》雜誌社編輯的約稿郵件,主題是關於中外計算機教育對比。筆者因學習和工作的關係對美國大學計算機教育體系有較深刻的瞭解和認識。同時與國內計算機系的教授也有一定的聯繫,比較瞭解國內大學計算機教育的現狀。國內計算機系的學生就經常拿自己調侃,調侃之一:「計算機專業最沒前途了,因為計算機專業大體分三類,硬件、軟件和網絡。硬件方面不如電子系,軟件方面不如數學系,網絡方面不如通信系…」。以往對這類的調侃,多是付之一笑。但談及目前國內大學的計算機教育,尤其是國內大學擴招以後的狀況,令人感慨萬分。因為這類調侃竟然在很多學生心裡得到了一定的認可。調侃之二:「國外計算機科學系是Computer Science, 國內計算機科學系是Counter Striker(反恐精英)」。這說明,國內計算機專業的學生大多都沉溺於網絡遊戲而放鬆了對本專業的學習。這些聽後令人心酸的調侃,反映了國內大學計算機教育的現狀,以及國內大學計算機教育的滯後性和缺乏創造性。
4 m- i1 X5 q: N9 n) H2 [3 k作為一名計算機專業的學生,中美兩國的計算機教育在本科和研究生階段究竟有何不同?哪種方式更適合中國學生?如何提高國內眾多大學計算機系學生的專業水平?課程該如何設置?師資該如何配備?教授的能力該如何評估?這些問題實在是到了該探討如何改革的時候了。: A0 I! a0 g$ k- u
  W" e  g" q9 T
筆者研究生階段的學習是在美國完成的。畢業於紐約市立大學 (City University of New York) 計算機科學系。回顧留美期間的讀書,選擇課程、挑選教授、課堂演講、以及團隊合作等種種難忘的經歷。現將這些經歷整理成文,以筆者個人的視角來觀察分析美國大學計算機教育的特點。# n* `6 @6 Q# M' y% [

2 ^3 ], s4 [; {( k8 p" E; w大學本科
2 p5 O" t# n$ E8 v/ c& x) B, m大學本科階段的教育是一切高等教育的基礎。基礎不堅實,何以建高樓?本科階段學習的重要性是不言而喻的。任何計算機方面的學習都離不開硬件和軟件兩部分。美國大學在這方面為計算機本科學生都提供了什麼樣的設備呢?
3 j2 D# D( P3 X, W4 U 5 [7 k5 p' o$ P9 m) `
硬件篇
/ p# I# P) @- a% s4 Y筆者從1996年下半年開始接觸BBS。那是當時全國都大名鼎鼎的重慶海闊天空BBS站。第一封電子郵件,第一次下載軟件,第一次實時聊天,都是在BBS網上完成的。之後,電信局終於開通了撥號上網。那是一個連撥號設置都非常複雜的時代,操作系統是Windows 95。昂貴的網費以及慢得如同老牛爬坡的速度,至今回憶起來仍瀝瀝在目。 5 s1 T: s( X1 v9 l& Q& I  u* g" g
# n/ o. g+ k) P) y0 b
在那個年代,最快的網絡是T1,是世界上最快的網絡。到底有多快,就只能從雜誌書籍上瞭解一些。知道這個最霸道的T1網絡位於北美,是互聯網的骨幹網。1997年,來到了美國。最初的震撼就是見識了美國大學的計算機房,全天開放供學生使用,居然還有空位子。任何一間計算機房都配備了至少一到兩台黑白激光打印機。估計那是工作最為繁忙的計算機設備,每天不知道要消耗多少A4標準打印紙。打印機是免費提供給學生使用的。因打印數量龐大,為方便學生使用,於是整箱的打印紙就堆放在打印機下面的機櫃裡,學生可以隨時自行添加。最大的震撼是,全校的任何一台計算機都與互聯網相聯,速度很快。記得在國內的時候,如果要在網上顯示一幅圖片,等上幾分鐘是很正常的事情。可當時的情況幾乎是即點即現。這可是在1997年啊!驚喜之下,詢問機房管理員,答曰:」本校的局域網隸屬於北美大學骨幹網,自身就是這個信息高速公路的一部分」。終於見識了T1網絡的威力了。下載速度最快的時候可以達到5兆每秒,平時基本上是100-400K的下載速度。
" c7 c  _* T# y) e5 y; ] 4 l8 L( k, A7 ^
如果是大學的教職工或者全日制學生,學校將會分配每人一個以@大學名稱.edu結尾的電子郵箱。其實這不僅培養了學生對母校的認同感和自豪感,同時也是展現一個學校在網絡技術實力方面的一種手段。不難想像,要維護一個複雜而龐大,運行穩定可靠的電子郵件系統不是件容易的事情。即使學生畢業離校多年,學校也不會註銷學生的賬號。學生仍然可以經常使用這個賬號登錄到母校的主機,查詢自己感興趣的信息。3 ~7 B0 X/ `2 L, P, [8 X
; \6 \$ q3 L( h+ d) f5 y! Y+ x4 d
對於居住在校內的學生,大學還為每個宿舍提供了10/100兆免費的寬帶接入,只要填張申請表即可辦理。對於不住校的學生,學校另外提供電話號碼,鍵入這個號碼就可以登錄互聯網了。有些類似國內目前的16300方式,只不過需要提供正確的用戶名和密碼。以上服務是每個已經正式註冊的學生都可以享用的。計算機以及電子工程專業的學生還有額外的一些服務,諸如:+ o2 I0 i2 V/ D, x

8 }( W' F0 W) H8 e: ol         5兆個人主頁空間。支持CGI,PERL(之後考慮到網絡安全,停止了對CGI的支持);
2 }/ p) i; s1 G2 N  i9 fl         Oracle數據庫的使用權限。可以使用學校主機上的Oracle, 便於課程的學習,例如,數據庫程序設計以及數據庫管理。# l6 O$ i8 u# I) `) J" \
2 x2 H) Y5 p) S7 [
基本上每台計算機都安裝了一些開發工具。例如,微軟的Visual Studio系列,如,VB,VC,另外還有TC,JAVA等等。如果是商業或者是有版權的開發工具,大部分安裝的是免費版,個人版,學習版,或者是共享版。在公共計算機房的計算機上,幾乎看不到國內大學計算機房裡面令人眼花繚亂的專業版,企業版。從這個角度來說,國內大學生所使用的開發工具要比美國大學提供的好。" w9 S  ~  v2 C, M0 r
1 p/ f, G# o/ z2 q9 ~  _
總的來講,大多數的美國大學在計算機方面的配置是差不多的。但是,如果是名校,不論是公立的還是私立的,計算機的配置要比普通大學好得多。例如,紐約市立大學(CUNY)就是其中之一。得益於紐約市政府的大力支持。學校在教學質量,規模,硬件配備等方面在全美幾個巨無霸型的公立大學中佔據重要位置。其它兩個巨無霸型的公立大學是紐約州大和加州州大。看來教育不下大本錢還是不行的。由於政府的支持,這些大學普遍收取較低的學費 (本州學生最低,外州學生其次,外國留學生最昂貴),因此吸引了大量本國學生及外國留學生報考,競爭非常激烈。批准入學後,更不同於國內大學的嚴進寬出,而是要認真對待所有的課程,否則無法保證順利畢業。
! J/ Q" }, ?* M* Q 4 n+ C5 ~4 l3 J9 x) `. K
軟件篇/ f) ]4 p% S5 m) D( u9 Q  x
前面談了美國大學的基本硬件配備情況。接下來,談談軟件方面。下面分別從課程設置,教學方式及教材的選用、成績評估、和畢業要求等幾方面加以闡述。
; [1 @( O  K8 d / y2 X" l! m1 {8 j$ o! R
課程設置
& |" o* W' s' `( P! r目前國內高校的教學內容都是由國家教學大綱來制定,應該說還是帶有很強的計劃經濟的色彩。筆者認為大學或學院要創辦出自己的特色,就應當由學校制定自己的教學大綱,由教授制定授課的內容。教學大綱定死了,就不容易創辦出自己的特色來。在課程設置上,必須緊密結合市場的經濟需求,克服脫離實際的現象,同時還要避免因迎合市場而盲目追求最新的理論。從另一方面來說,國內的大學希望緊跟國際計算機科學發展的最新理念和技術,並將最新的信息傳授給學生。但就目前來看,國內大學還是有力不從心之感。因為任何新的理論技術,要想掌握得比較好,沒有一定的技術儲備是很難辦到的。一方面教授的素質和能力要跟上,另一方面,學生要有強烈的學習慾望和鑽研精神才行。兩者缺一不可。+ }7 @, S& q: N5 W* g( R

3 A6 N3 L* l( K4 i( [0 G這裡以紐約市立大學(CUNY)計算機科學系本科與Bridgeport大學計算機科學系本科學生2004年度課程設置為例。(課程名稱筆者就不翻譯了,相信國內大學生應該是相當熟悉的)。% ~* d2 c. {# j  X$ @% Y+ C
, |( {( Y- i6 n" B
紐約市立大學(CUNY)計算機科學系本科課程設置,見表一1 b8 [' T' y  C+ Y
2 H* m- l5 z+ q; U
表一 美國紐約市立大學(CUNY)計算機科學系本科課程設置表7 f2 [) _  n1 t
/ v5 A  {8 n4 X9 Z% t
_Hlk85951986>課程代碼 課程名稱 學分時 7 p' @$ {/ _2 U+ T% L% H
CSCI 012 Understanding and Using Personal Computers 3
) @$ [' U, ~* _- aCSCI 018 Computers with Business Applications 3
: n5 b  ]* Z6 w, Q: TCSCI 080 Problem Solving with Computers 3 8 f: C1 j- R3 m+ S! g: W: H
CSCI 081 HTML and WWW Programming 3
$ s0 l5 [6 w- o. h8 H% T9 o8 P6 K, UCSCI 082 Multimedia Fundamentals and Applications 3
( h+ W' N, {6 s1 X! T: z8 TCSCI 084 Models of Computation 3
" H2 Y) {" U/ b. @2 e4 w# j( ?CSCI 085 Database Application Programming 3
0 N1 n" c8 V" }4 R, n. W: x3 mCSCI 086 Science Computing Tools and Instrumentation 3
& e' ~3 E8 M1 j# g# v+ sCSCI 090 Topics in Computing 1-3 , ?% O4 F, `. g- s' I9 T
CSCI 111 Algorithmic Problem Solving I 3 / Y$ N' C/ |. l& U9 m3 a
CSCI 211 Algorithmic Problem Solving II 4
0 o4 j& }$ p2 H! d# b0 KCSCI 220 Discrete Structures 3 $ @4 M* Z+ v, x* h/ P) B/ U  U# F
CSCI 240 Computer Organization and Assembly Language 3 ; T2 \0 U+ l# ~
CSCI 280 Self-Study Programming 1 5 T* D8 {+ c4 Z2 J& I2 L
CSCI 307 Compilers 3
3 M+ A$ V* S1 ?' z' L8 JCSCI 310 WWW Programming 1 0 ~: r" T+ O/ X1 s1 {3 W6 e' m2 z
CSCI 313 Data Structures 4
# ], K4 X" L# p& U/ _" a( VCSCI 316 Principles of Programming Languages  3
8 ^6 ~  J' F$ e. O& u' n$ a% F: |2 KCSCI 315 Artificial Intelligence 3 ) W$ y0 F2 s: {9 g
CSCI 320 Theory of Computation 3
% y, H8 w; w5 O8 |. hCSCI 323 Design and Analysis of Algorithms 3 2 a: C! Z, [3 Z1 V7 o
CSCI 331 Database Systems 3 ; c; {- }! T# m7 |" A) X1 Q
CSCI 332 Object-Oriented Databases 3 # E0 A9 u4 u6 J
CSCI 335 Information Organization & Retrieval 3
0 x  W4 @1 J- ^' I% lCSCI 340 Operating Systems Principles 3 5 h8 D# J3 i3 n' \5 I4 w* q
CSCI 341 Computer Organization 3
- ?0 o. ?" ^# L$ J& y' o! [- SCSCI 342 Operating System Programming 3 6 X* ]- x. M( W' Q, w
CSCI 343 Computer Architecture 3
0 a/ d* e0 T/ [$ v- X9 K' kCSCI 344 Distributed Systems 3 9 J$ C) m: v1 j% w; P% S
CSCI 345 Logic Design Lab 3
$ Z4 [6 [9 F0 OCSCI 348 Data Communications 3 % w8 }$ L* N: \: T6 t
CSCI 361 Numerical Methods 3
( n( H. d+ Y0 ~& ~# x  o, b" u. eCSCI 368 Computer Graphics 3
; @& r; {& }8 o9 V* VCSCI 370 Software Engineering 3
  g# u7 F# M( A" U! C1 h* zCSCI 381 Special Topics in Computer Science 1-4
4 Z1 J/ e$ |7 a% }" B2 a+ G9 P* cCSCI 391 Honors Problems in Computer Science 1-3
' h+ z* u$ K' c5 |. y; dCSCI 393 Honors Thesis 3 4 M7 l1 p2 U+ e6 x% n
CSCI 395 Research Projects 1-3 , P5 N3 f8 b- C( h6 R
CSCI 398 Internship 1-3
, K- B8 u4 \% I5 K8 bCSCI 399 Honors Readings in Computer Science 3 1 r% ^3 t! c2 z$ F( u

4 s  s: d, G* p: m& g+ y # {. w& W9 I1 C7 v) m' l% e. q' M' t
總計40門課程,不包含畢業論文。(註:附錄一列出了上述課程內容的簡要說明)。
! X  g8 N+ c7 i" r9 H, H
1 d" N; a' ?% t* b6 j美國大學的課程可以從其課程的編碼就能瞭解到這門課的適用範圍。所有課程都以某個系或某個專業為單位由淺入深地從100-999編號。100-499為本科生課程,500-699為高年級本科生選修課和低年級研究生課程。編號為700-799隸屬於研究生的學習範圍。800及其以後的課程則屬於博士生及其以上學生的學習範圍。而某些大學規定計算機專業的研究生,在攻讀700以上的研究生課程前,必須先完成特定的一些500-699之間的課程。8 K$ K; M: L# y# W. v; f- _

- W" W. Y' y" w' p0 m# w( k0 {下面看看Bridgeport大學計算機科學系本科課程設置,見表二
3 b& N3 A7 K* S; O- h/ K: p
' ~' V3 ^5 y, K7 g6 [" Q- q表二 美國Bridgeport大學計算機科學系本科課程設置以及學校建議各門課程學習計劃表# E7 V; b8 a, i

! ?1 l0 U! S9 Q# d: T課程代碼         課程名稱 學分時
' S/ E1 I- O- |- W) H      
( X0 A3 F: v& B; @5 s6 p第1學期(FIRST SEMESTER)
' G! S; Q6 h( \* |Eng C101 Composition & Rhetoric  3 6 S# B  v- q# R, ~/ |
Math 110  Calculus I  4
3 i2 ^/ z( Y. i: f: sCS 101/101a  Introduction to Computing I / Lab. 4   m4 n% L( V+ Z4 u8 \; Q
Hum C201  Humanities  3
8 L/ n7 i5 c  l2 L( A; i* _! e5 KPhys 111  Principles of Physics I 4 ; ^4 i" G. {. ?/ Y
第2學期(SECOND SEMESTER)
$ C! Y# [2 a  O1 @, FMath 112  Calculus II  4
9 c% J/ T; |$ f& ^Phys 112  Principles of Physics II  4 ) `1 \8 e4 b5 y1 t% v
CS 102/102a  Intro. to Computing II / Lab. (Data Structures & Algorithms) 4 5 S. v1 Z% Y; W" R: _- Y
IntSt C101  Computer Ethics  3
4 G5 f: I7 @0 Z* L+ x2 L4 O+ xHum  Humanities Core  3
3 r' ~7 s4 {& G: M第3學期(THIRD SEMESTER)
  W, [, A: n- u& J8 e; yCS 227  Discrete Structures  3
' L# m$ O' s' S' c" z( O  ?Math 215  Calculus III  4 0 |& k! X4 \4 T3 ]  m; f5 D, D
CS 201  Advanced Data & File Structures 3
5 r5 X1 F2 h+ P- mSoSc C201  Social Sciences 3 ; V0 ^- @. f2 p
第4學期(FOURTH SEMESTER) - z; f7 v3 R! W
Math 214 or 314 or 340  Linear Algebra or Numerical Methods or Queuing Theory 3
+ Y' P* ?+ C9 s+ W5 a; Y! @CS 203 Second Programming Language 3 8 h2 [4 {$ y3 Y. Z
SoSc  Social Sciences Core 3
. E/ k1 j" @  U# G' z# p$ QEngl 204  Technical Writing for CS 1 6 F$ H5 V' i" ?! B
FA C101  Fine Arts 3 ; W  e; N3 K( f2 Y
CpE 210  Digital System Design I  3
$ ^# v* O: x$ C' X+ R" F第5學期(FIFTH SEMESTER)
' E8 k5 f* t) ?) rCS 300  Economics & Management of Computer Projects 3 ) k# t1 J; u: V
Math 323  Probability and Statistics  3 # y. z0 o( a2 ?
CS 301  Programming Languages  3
* F: s* g% s/ _, a# ^CS 329  Fundamentals of Algorithms  3
4 ^) M% j+ L  rCpE 286  Microprocessor System Design  3
  d/ a, f1 b1 ACS 300  Economics & Management of Computer Projects 3
# t- t$ K* s  v" U3 V5 t# \+ }* t第6學期(SIXTH SEMESTER)
$ C; r+ ~0 V% M$ G6 ^CpE 408  Operating Systems  3
& W5 }. V* I* Q8 z% Y2 g  Humanities Elective I  3 : x2 w4 ?" ^5 b) U. K+ ?6 b% u# m
  CS Elective I  3
' X) \( n& s( [+ C# LCS 311  Computer Architecture  3
3 [' t) F5 [* D$ [: y* l  Tech Elective 1 ! Q$ Y6 W* j" [
第7學期(SEVENTH SEMESTER)
6 ^8 k  ~+ S- V" N4 P# u- mCS 450  Database Design  3 2 G* x0 _8 B% Y9 v5 R4 q# ?9 V
CpE 489  Software Engineering  3 9 z% \' B# ^/ f2 ^5 B3 `3 l2 l
CpE 471  Data and Computer Communications 3
/ e4 }3 @8 H, |* X' ]0 U- t' D  CS Elective II  3
) h3 _& L- N  U2 |; B  Technical Elective II 3 # _$ p) z) A( s1 |0 i3 o1 N
CS 449a  Senior Design Project 1 - U; J+ p8 }" O; q6 C
第8學期(EIGHTH SEMESTER)
/ s6 j& o- C* c; o1 V) k# CCaps C390  Capstone Seminar  3 9 c1 B4 Z8 l& H2 @8 A
  Free Elective  3 " e! q/ S, b- c# p7 I" s  E
  CS Elective III  3
/ A7 i$ p/ N1 e5 }, ]% x* i: L/ N  Humanities Elective II  4 2 ?6 `  g: }( o/ `, X4 H+ f
CS 449b  Senior Design Project  3   u5 {( t4 v3 P. g' M5 |0 k& a- u
總計學分時 130
# c; _" U. n5 I; w% u2 }+ H: j) k. j$ _0 M2 J
4 }% s4 H- B8 L8 ^& _
總計42門課,含畢業論文(Capstone)。/ G* f7 i# ]1 c0 ]
  j2 w+ M% E& J
現在讓我們對比研究這兩所大學課程設置的特點:
  ^; y; }3 J3 U4 T3 w0 g" _ ! I* @+ O! Z4 F3 `. f
紐約市立大學(CUNY)計算機科學系本科課程的設置很專業。全部都是與計算機直接相聯繫的科目。例如,數學和大量程序設計的課程,基本上不包含其它學科的課程。Bridgeport大學卻與之相反。含蓋了數學、物理、化學、工程、電子工程、計算機科學、計算機工程、社會科學、人文科學、英語、藝術等各個專業的課程。課程內容為Elective表示該門課程為選修課,Free Elective表示該門課程不受任何限制,可任意選擇。兩所大學除數學類的課程以及核心的計算機課程相同外,例如,數據結構,算法等,其它的課程設置可以說是差別很大。這充分體現了美國大學教育體制的一個特點,即自主性,多樣性和靈活性。/ I3 O2 U* e# l, ^; [$ h6 A
9 [+ M% {0 W2 d) V& D) @/ Z0 R
同樣的專業,卻因為不同的教育傳統和思路,則在課程設置上各有特點。CUNY是在美國享有很高聲譽的公立大學。在課程設置上盡其所能地滿足紐約的需求,紐約對計算機人才的要求是非常專業的。所以如此的課程設置也就不足為奇了。: S$ q; j, D, b
- }! F, h1 X. Y' N0 s
Bridgeport大學是所私立大學。在師資和生源上都遠不及CNUY。雖然Bridgeport離紐約市很近,但卻隸屬於美國新英格蘭地區的康奈提克州。該校比較注重本科生的綜合能力,所以在課程上設置了一些看似與計算機毫不相關的課程。美國的高中畢業生在選擇大學的時候,就可以在網上查詢到不同大學的課程設置。因而可以非常容易地挑選到最適合自己的大學。如果對計算機的課程感興趣,而對其它的,褚如:人文,社會和藝術類的課程沒有興趣,那麼CUNY就是很好的選擇。如果興趣比較廣泛,不僅僅是局限於計算機類,那麼Bridgeport大學就是很好的選擇。
4 Y$ p, o* p: Z& L0 g
5 @2 ?: O' Y- ?2 J; }5 ]( x教學方式及教材的選用
- b: d5 A' o! `, c9 e" I美國大學在新學期開始前,各系都會在其主頁上刊登出詳盡的列表。例如:本學期開始及結束的日期,本學期開設的課程,授課教授的信息,授課教授的接待時間,授課教室,期中期末考試的日期及考試地點等等,都可以輕鬆查閱。! K0 F6 S, X1 V, K/ [4 Z2 w
& d) [0 p3 d8 ^, f  A! E
一旦註冊某門課程的學生比較多,將同時會有幾個教授講授同一門課。學生可以選擇上哪一個教授的課。如果該教授招收的學生已經滿員,則只能選擇到其他教授門下。不同的教授,授課風格也迥然不同,有嚴厲死板型的,也好好先生型的。總之,如果以前沒有聽過該教授的課,可以詢問其他學生對該教授的評價就可以了。但並不是說,某個教授招收的學生少,就說明該教授的水平差。
1 W# `+ z+ ?; M! A
4 p- Z! Y2 p; f; o' Z美國私立大學學費之昂貴,想必大家也有所耳聞。以Bridgeport大學為例,本科學生的學費是475美元(研究生550美元)每一學分時。每門課程通常是3或4個學分時,算下來,一門課程折合人民幣12000—16000元的學費。而前面提到的公立大學,例如:市立紐約大學和私立大學相比,學費明顯偏低。市立紐約大學本科學生的學費是360美元(研究生425美元)每一學分時。而且在美國大學沒有補考的概念。如果某門課程,教授判定Failed -- 不及格,不僅成績單上該門課程的成績欄裡會有一個難看的F,而且唯一的補救方法就是下學期重讀這門課。當然,學費也要再繳一遍。即便重讀過關,那個難看的F成績同樣會保留在學生成績單上,那是永遠也抹不到的記錄。正是這種學分的管理制度,也起到了督促學生努力學習,完成學業的作用。
 樓主| 發表於 2005-3-20 19:31:03 | 顯示全部樓層
儘管學費昂貴,美國大學在學費管理上也有很人性化的一面。允許學生在一定的期限內註銷(withdraw)所註冊的課程。一般在該門課程開課的一個月之內。在此期限內,還有更詳細的劃分。比如,在開課一個星期之內註銷課程,學校會退還此課程的全部學費給學生本人,而且在成績單上不作任何記錄。如果在兩個星期後,最後期限之前做出註銷決定,則退還此課程學費的50%給學生本人,或將這筆款轉入學生名下,學生只能將這筆款用於支付學費。這個體制在美國大學中很普通,只是不同學校的具體政策不盡相同罷了。, B# K2 p: Z( ]& S; s2 K
( o( c3 I/ A2 ^" B, n
一般來說,當學生確定了選修的課程及繳付所有的費用後,就會立即在大學的註冊辦公室(Register Office) 得到一張Timetable。上面明確列出了本學期課程的詳細信息。例如:授課時間,授課教室等等。每門課程的第一節,教授會發給每個學生一份課程提綱 (Syllabus/Guideline),上面列出了該門課程所要求的教材及其它參考書目,必須完成的課後作業,多少次測驗(Quiz)及課堂演講(Presentation),有沒有團隊(Group)作業,期中和期末考試的安排,出勤率的考核,以及上述這些考核項目各佔總成績的比例,通過這門課程的最低標準等信息。通常,出勤率占總成績的5%-10%,期中考試占總成績的20%—25%,期末考試占30%-35%,其餘部分就由平時作業(獨立作業和團隊作業),測驗以及課堂演講組成。美國大學的評分標準跟國內不一樣。不採用100分制,而是採用A、B、C、D、F的等級制度。F就是前面提到過的Failed -- 不及格,A+,大致相當於國內的97-100分,A,93-96分。A-,90-92分。B、C、D的評分標準與此相似。* g8 J2 M6 x: A: z2 }

5 G5 h4 C" n( r) y. b有些教授不指定教材,而是採用自己的講義。有些教授雖然指定了教材,卻很少使用。筆者在讀《計算機分佈計算與並行計算》課程時,Syllabus上註明:教材一本,輔助教材三本。正在思考如何去讀這些書的時候,教授輕輕說了句,「我相信你們的能力。教材嘛,自己看就可以了,我將著重講解書上的重點和難點,以及最新的發展趨勢」。碰到這類教授,是一大幸事,因為可以學到很多這方面的知識。但要獲得理想的成績確實不易。
: N: B7 \7 ?- b& b, v
7 V5 l7 x3 V& E0 `' g6 N, r2 H* L某些計算機課程,例如,《數據結構》、《高級數據結構》、《算法》、《高級算法》及《軟件工程》等涉及到程序設計方面的課程,採用哪種計算機語言進行講解,並沒有明確的規定。基本上是由授課教授指定。目前上述核心課程採用的計算機語言最廣泛的是Java其次是C++,也有一些大學採用C#。
' s/ F  b$ l) ^# m8 ~, e
; F6 b6 m1 K7 h& a$ `$ O這裡簡單說說教材的問題。因計算機語言頻繁升級的緣故,美國大學計算機的教材更新速度很快,可能每年都會有新的版本出版。最典型的例子就是Java。教材的選定由授課教授決定,故此不同的教授即使教同一門課,教材也很難有統一的標準。但很多教授對以下兩部教材的選擇卻是相當的認可。筆者也認同不論是初學者還是高手,仔細閱讀這兩部書,應該會有些斬獲。這兩部書都是由Deitel & Associates公司出版,分別是:! D& @! G! [6 |0 p/ p

. s4 P% S, n. `! D4 f2 t* l3 t7 e1.        Java How to program
; J; y2 {' S% I3 J& }. ]5 \! L2.        C++ How to program
/ v6 K$ l9 C9 K4 }* Y " q0 F. F% z0 s/ o9 L* {/ T
在教學方面,大部分教授都不建議學生使用可視化的開發工具。認為在學習基礎理論的時候,不應過分借助於這些可視化的開發工具。不過,學生如果堅持使用,教授也不反對。但是當教授拿著源程序提問時,學生要清晰理解源代碼的設計思路,實現方式以及程序流程。否則即便源代碼沒有任何問題,成績卻會令人很失望。2 D: G: ?( n& r; z. K" t
) h) |) l+ b6 j* N0 F
關於團隊作業(通常3人一組),一般在商定後,每個人各自負責相應的部分,並規定好完成各自部分的最後期限。在團隊作業的進行中,每個成員都會盡力完成自己的任務,都不希望因為自己的工作而影響團隊的最終成績。但畢竟水平有差異,有時候不一定能順利完成。在這個時候,所有的成員就會聚集在一起討論解決的方案。此類的團隊作業,一般都要求在課堂上做演講。每個人負責講述自己所完成的那一部分。在演講期間,教授及其他學生可以隨時打斷話題,提出他們的問題或觀點。只要是與演講內容有關聯的問題,都可以發問。所以,課堂演講實際上是較難的學習內容。需要作出充分的準備。結構清晰,言簡意明,口語流暢,製作精美(一般採用MS的PowerPoint製作,也有學生採用Flash製作)的演講通常是可以獲得高分的。在國內大學,類似這樣的作業是比較少見的。其實國內大學在這方面應當大力加強,因為這不但可以鍛煉學生的表達與組織能力,同時也是培養學生分工協作,增強團隊精神的有效方法。, ?& k/ {  J# d  x8 ]

* }3 b2 p; x+ l& q/ J8 k成績評估1 V4 X1 Z2 n$ \, b# F/ k
對於課後作業,教授通常規定了明確的最後期限 (Deadline/Due day),一旦超過這個期限,那麼該次作業的成績無效。一般同時以兩種形式上交作業:
8 |6 |6 }5 H) [/ `$ e 0 e" b( R% M% H
1.        標準的A4打印件* h( V1 s# W+ Q
2.        電子郵件  x( I' c) H. T# R2 O

% l* }7 `* o; B& `教授會很快給予評定。並佔用一定的時間來講評作業。如果發現學生存在普通的問題,教授會再次講解。作業的成績不會當眾公佈。例如,分發試卷的時候,是由教授點名。被點名的學生走上講台,由教授親自分發試卷,標有分數的那一面試卷是朝下的。當然,教授也會向學生講評考試結果。比如,分數的分佈情況、最高分和最低分等等。還有常見的方法是,將學生的分數打印或者在網上發佈出來。但是不列出學生的姓名,取而代之的是學生的ID。8 a3 s$ B& T7 C, I$ R

9 {5 T9 x  G7 m/ n# |: V5 c  C學生每門功課的最終成績,是依據一學期的總體表現,由授課教授評定。一旦學生認為教授評定的分數過低,可以同教授商談。但在沒有誤判的情況下話,是很難更改分數的。如果商談後對教授的最終評定結果仍不滿意,可以繼續向系主任投訴。不過,大部分是維持原判,因為系主任也沒有更改學生最終成績的權力。" p# t  I: {. }8 |
畢業要求+ q* B& Z( F% [$ H6 N( g
       前面我們從表一及表二得知,要獲得紐約市立大學計算機科學系學士學位,就必須得完成120個學分時,而要獲得Bridgeport大學計算機科學系學士學位,則必須完成130個學分時。本科學生獲得學位的要求不是很高,每科成績不低於D即可。但如果希望本科畢業後繼續進入研究生院學習,那麼平均成績不得低於C是最低要求。如果希望申請著名大學的研究生院,則平均成績不應低於B+。當然,除了學習成績外,學生的其它素質也是錄取與否的因素,例如,是否具備獨立思考,善於發現問題的能力?是否具有該學科的專業研究能力?等諸如此類的個人因素在錄取中也占一定的比重。6 r1 T% Z" R+ f
6 t% I5 W3 w2 R7 Y2 y: r% [
其它
5 S0 J0 D% ~  r, a; s7 P" B1 P       眾所周知,美國計算機的硬件軟件水平執全球之牛耳。計算機最重要的三大部分,微處理器、操作系統和數據庫幾乎被美國產品所壟斷。美國大學生在計算機的應用水平上也普遍高一些。國內大學生絕大部分熟悉的OS就是微軟的系列產品。而美國大學生是普遍使用兩種操作系統,Windows + Unix/Linux。
- j3 @7 c4 T' Q3 F, M2 c1 f       以筆者為例,以前只熟悉Windows,會用Novell。但在美國留學期間,意識到必須學習UNIX的操作,原因是:
" M3 J) _" l0 V/ T  D ' s% R3 g' j4 T/ J* [7 i2 J
1.         學校服務器是SUN OS 5.0,可以利用服務器強大的計算能力;: D1 l: @7 _9 Y/ u4 |( v
2.         服務器上安裝了C、C++、Java、Perl、Python等編譯環境;5 D+ M+ u  a$ D# f8 z
3.         服務器運行非常穩定,可以被當作一個穩定的網絡硬盤使用;) T+ S5 ^- r8 y4 C" U& N
4.         因為是計算機專業的學生,開放了個人網頁,可以實戰HTML編程;* k$ z1 y0 L: l
5.         除Oracle外,還可以學習MySQL、PostgreSQL等數據庫;2 ]9 m" H4 \- f2 c) ]
6.         UNIX的安全性是不用質疑的。源代碼存放在上面,非常安全;
  K! P; _9 u6 E7 J& F7.         避免有時把源代碼或作業忘記在家裡,通常可以複製一個備份存放在服務器上;
, d8 n8 u, E) C0 z& y+ q0 |8.         服務器上可以快速的傳輸文件。
$ D# Q& C6 s9 h+ T* a9 G * b! P4 m! }! ~( U2 v' Y
美國大學的主機基本上都是UNIX系統。要使用學校的資源就必須學會使用UNIX。在這種情況下,筆者先從Windows 最基本的telnet 登錄開始學習,由於telnet是以明文的方式和服務器通訊,安全方面有很大的隱患,所以很快就放棄了telnet,改用ssh登錄學校的UNIX主機。接著,學習如何使用PINE(UNIX上的郵件收發程序)、VI(文本編輯器)、如何管理文件及設置權限、如何編寫腳本、如何運行腳本程序、如何在UNIX下實時交談, 以及如何安裝自己的應用程序。隨著使用UNIX的日益頻繁,筆者對UNIX的理解也越來越深,也越來越喜歡UNIX了。' F0 y! ?! [# F" R

; V5 u5 W7 T8 X0 c4 z  b總之,正是由於學習UNIX的這個經歷,令筆者在以後接觸Linux的時候,很快就上手了,並且能夠順利系統的學習並掌握了DNS、WWW、SENDMAIL、POP3/IMAP、IPCHAINS、ROUTE、IPCHAINS、DHCP等服務器的安裝和配置。
4 O4 M2 I1 B% y; m" x: A * i% K6 R% d. F9 @( {
研究生
: x' h; @0 e& h6 H: w9 O目前國內大學計算機系的傳統教學模式確實存在不少弊端。所幸的是已有越來越多的有識之士開始意識到這些問題,並積極探索改革的方向和出路。特別是針對計算機教育,國家已著手大力扶持,除強化計算機系的教學質量外,還批准開辦了多所不同層次的示範性軟件學院,一些高校也開始了改革教學的實際行動。
) F' l' o0 [4 Y" f# G+ P/ J% I, P
" l0 O, p5 f1 Z在學位制度方面,國內高校基本上沒有嚴格的淘汰制。特別是對於研究生,能考進去基本上就可以獲得學位。而美國大學對學位的評定則是層層篩選,而且學位越高,淘汰的比例越大。這種對人才質量嚴格把關的機制,尤其值得我們倣傚。
& p& b/ R' W; W9 ^2 h: g& n # j$ ~. H( A. T9 v+ x; o% T
研究生的適應能力以及創新能力在很大程度上取決於堅實的理論基礎和專業基礎知識,這是高質量研究生教育的重要特徵之一。在當今科學技術突飛猛進,專業知識日新月異的時代,只有紮實掌握專業的理論基礎和系統的專業知識,才有可能從事這個專業所進行的科研、教學和其他專業技術工作,才能打好進行創造性研究的基礎。因此課程的學習就顯得尤為重要。如果沒有合理的、科學的課程設置,沒有切實可行的教學計劃,課程教學就沒有可靠的科學依據。如果課程教學不是立足於本學科的前沿,不立足於提高研究生的學術水平和科研能力,那麼課程的教學質量就得不到保證。由於課程學習是實現研究生的培養目標、保證研究生質量的重要環節。課程設置將直接影響到研究生知識面的寬度和研究能力的高低,因此,研究生課程的設置是否合理、科學是非常重要的。
; h" V& U2 E6 C7 U # l2 w( I4 e/ \! f, D
國內大學的研究生教育,專業課設置過於專業,例如,過去的物理化學專業是一個博士點,博士生上的課程全是物理化學。四大力學全是物理化學的內容;有機化學,學生修的全是有機化學,學術面過窄。而國外已經打破了二級學科的限制,甚至打破了一級學科。例如,國外化學系的博士生,有些課程是屬於生物學,有生物儀器分析、生物物理學等課程。這樣培養出來的學生適應能力和研究能力就相對較強。可以在學科的發展中間迅速調整自己的學科方向,跟上學科發展的潮流。我們過去培養的學生就非常專業,跳出自己的專業就一籌莫展。所以我們必須改變在很窄的專業學科範圍內培養研究生的這種局面,要打破二級學科的限制,甚至要在一級學科上做些交叉。  O% b2 F/ v  U
* u# K  y' `# O4 d2 d
美國大學的研究生院、研究生教授協會和科系對研究生課程的設置極為重視。一般而言,本科生與研究生的根本區別在於研究生的「後勁」比本科生足。而後勁來源於寬厚、堅實的理論基礎。基於這種認識,國外大學科繫在碩士研究生新生入校後,要進行摸底考試。若考試成績不理想,則建議新生補課,並且只能在課程編號為600-699的範圍內確定相關的補課科目。倘若核心課程的成績達不到「B」,則失去獲得研究生學位的資格。目前在美國大學的研究生培養方案中,理工科研究生的數學和有關基礎理論學科的總學時仍呈上升趨勢。一些著名的學府,研究生新生在第一學年不學習本專業課程,而是學習數學、物理、化學或統計學等課程。在此基礎之上,從事本專業課程的學習。
+ _! S( z9 _/ y- N( ~3 j
9 H' E2 i: n- u( y! H# d& G    這裡再順便談談美國大學的博士生制度。美國大學博士生的培養尤其重視課程學習。其課程設置的範圍較廣,一般要求修16-20門課程,30-40個學分(文科要求修滿45個學分以上的課程,理工科側重實驗,一般要求修滿30個學分以上的課程)。基礎課程的學習時間為1-2年。課程設置通常分為5個專業領域,其中一個領域還要跨一級學科。要求寫大量的書評和課程論文。學習期間有多次考試,最後還要通過所修課程的全面性考核。各大學對博士生考試成績的要求不盡相同。有的大學要求在B級以上;有的大學規定要有2門課程的成績為A級,否則取消獲得博士學位資格。例如,柏克萊加州大學工學院,要求博士生主修領域的課程成績必須達到3.5,輔修領域的課程成績也必須達到3.0。& D3 V" J2 X; {( j
; i8 G" N. @2 E$ G$ z
現在看看美國大學計算機系研究生的課程設置及畢業要求。仍以紐約市立大學(CUNY) 為例:! A$ U( h# N+ l

- V# h0 `+ R0 l3 p    被錄取的研究生新生必須完成以下三門課程(不算學分)之後,才能真正開始攻讀研究生的課程:. k) R+ V! a' H7 m( ]% r5 y2 G

! Y; U* R8 Y) e3 k: \/ Z3 g: G- _* @1.        數據結構(603. Data Structures) ; 7 k  E( I- E0 [5 n5 d1 L
2.        彙編語言與計算機結構(642. Assembly Language and Computer Organization);
( z: ^7 l( {% x2 E6 N3.        信息技術概覽(615. Survey of Information Technology);. _* G# ^7 J2 F- Q0 }* `

3 W' }2 H) s( e, P, ~' {2 }在完成上述三門課的前提下,必須完成30個學分時,編號不低於700的課程,這些課程包括:" \! {" R$ ~! Y" ^8 G  ?8 L. Q
1.        算法1 (700. Algorithms I);
5 s+ K" ]0 p& q- z& d6 Q. P1 ?! X- s2.        分佈計算(715 Distributed Computing);
7 m7 v7 B) X  ^. f+ d1 r0 }3.        可計算性與複雜性(722 Computability and Complexity),主要講述計算模型,如圖靈機,隨機存取機器,時序電路等等;; x3 \! I& c1 \# t
4.        計算機體系結構與網絡(744. Computer Architecture and Networks);4 ?3 j( V/ \. U6 p9 o) R- H
5.        軟件類,必須完成以下課程中的一門:/ m, t  q6 u9 a$ _
l         軟件設計 (701. Software Design );/ a9 @9 H" |- e: \* U: d
l         編譯器結構(707. Compiler Construction);
; b2 v; C5 W$ X8 Tl         計算機圖形(718. Computer Graphics)
  E* n! |: g  X/ e3 e6.        硬件類,必須完成以下課程中的一門:
! L! s, s# D( k5 s8 Y2 b! z" Q9 Il         開關理論 (745. Switching Theory):這部分主要同電子電路有關;
" H+ R0 b- g! \, H0 G; }6 Fl         計算機系統(746. Computer Systems):主要是指並行計算機結構、RISC及CISC處理器,並行計算的程序設計等;
5 L0 ^5 d  Q4 T- N9 Kl         計算機網絡(748. Computer Networks)9 W+ k0 A8 A, s/ K/ M2 E
7.        應用數學及算法類;
% ]2 n5 T/ B; H8 ~0 Nl         算法2 (762 Algorithms II );
1 A* z" A* N& i( q# K9 y. z8 Al         系統模擬(764. Topics in Systems Simulation);
7 d; L$ r9 E+ bl         計算機系統概率模型(766. Probabilistic Models in Computer Systems)) C( M+ i' q& R/ U" r$ k
8.        在獲得21個學分時後,每個學生還必須滿足或完成以下幾個畢業條件(Capstone Requirement)中的一種;3 X# E% ?- N' n% I$ O% @4 u# `
l         軟件開發項目實習(731 Software Development Practicum);6 \& G  {. _6 |4 Y0 @6 a
l         研究項目實習(732 Research Practicum);
7 G/ [/ W' |$ h8 P& c1 r4 rl         碩士論文(733 Master's Thesis)
+ q# s* S- a" k2 G0 g. t7 E 5 F/ e9 B( Q0 i1 }! a' C
(註:附錄二列出了上述課程內容的簡要介紹)。
6 O1 {6 f* |5 B/ S
% \8 V% T4 x1 y7 ?) B' _+ R1 r
* f8 ?0 L" p6 U/ Y, n前面提到美國大學研究生教育的一個明顯特點就是多學科交叉。這裡就以筆者研究生的課程為例,對此作進一步的闡述並以此結束本文。課程是關於手寫數字字符的識別問題。這門課程應該屬於電子工程、人工智能、智能識別、信號處理、自動化處理等學科的交叉學科。首先,這門課程沒有教材。全部閱讀材料由教授Dr.Ihsin Phillips提供。這些閱讀材料大部分是發表在IEEE刊物上的論文。這些論文都是講述如何進行手寫數字字符的識別。每篇論文采用的識別算法都不一樣,而且作者來自不同的國家。
6 u$ ?, B9 C. V% V, n8 r8 Z
- A9 s- G2 W  T7 m4 ]4 `$ C  L教學和考核的方法是,學生分成若干小組,每個小組負責自己的材料。小組成員將在課堂上講述自己對數字識別算法的理解以及自己的觀點。然後依據演講的情況來評定成績。但期末考試則不同,閱讀資料在期末演講前一個月分發下來,並且要求每個學生必須獨立完成所有的工作,例如:閱讀、理解、算法分析、算法擴展,幻燈片的製作、演講內容的準備,以及對可能被提及的相關問題的準備等等。  D9 a  g! ~. }1 u
. W. ?2 A) d$ p$ v% Y
下面列出教授提供的部分學習資料。這些是來自不同國家不同大學的研究成果。有國內的清華大學,還有來自美國紐約州立大學布法羅分校、英國Essex大學,韓國以及巴西的一些大學。" x% Y( m4 z1 \5 |  @6 h1 v
3 I& {7 Q% P7 l' a0 O9 Q8 }& y
1.         一種新的分割手寫的非規範數字字符串的方法 (A New Method for Segmenting Unconstrained Handwritten Numeral String)
( Z/ P. z: t0 z+ ~( P4 J3 g作者:Bin Zhao, Hui Su and Shaowei Xia  5 s3 k6 v$ f- o! o$ S: n" v2 q
Department of Automation- P" G' a" \4 S  c0 t
Tsinghua University, Beijing, 100084, P.R. China4 x# Z4 Y) j& e. Y3 }/ V7 [

' K$ s6 I, w) T3 p9 d) r% {2.         分割與識別完全非規範手寫數字字符的系統(A System for Segmentation and Recognition of Totally Unconstrained Handwritten Numeral Strings)
8 F# g! k0 ?4 @5 J  @作者:Z. Shi: S. N. Srihari, Y-C. Shin and V. Ramanaprasad) o" }9 D& }0 ~# E5 M
Center of Excellence for Document Analysis and Recognition4 `" a. }, @; c4 T
State University of New York at Buffalo: Buffalo, NY 14260, U.S.A.
3 `; }) Z8 @, f' g. Z  V% k3.         分割與識別手寫數字字符的新的範例(New Paradigm for Segmentation and Recognition of Handwritten Numeral String)+ H3 r$ K2 }0 e2 G1 N
作者:Sungsoo Yoon, Gyeonghwan Kim, Yeongwoo Choi, Yillbyung Lee% B# A; M3 d0 p5 _6 B- Y5 Q
Dept. of Computer Science, Yonsei University, Seoul, Korea
1 D! ]6 f; c" P% z- UDept of Electronic Engineering, Sogang University, Seoul, Korea
$ E9 C% {: W* S6 M) ]Dept of Computer Science, Sookmyung Women』s University, Seoul Korea: y. d9 F2 q# }0 W7 g9 _

' j" t6 V: @" {; m  k, Q& E  o4.         面向對象的表單描述語言與表單手寫字符的處理方法(An object-oriented form description language and approach to handwritten form processing)
- d5 h$ c: E; O作者:C. Cracknell, A.C.Downton, and L. Du
- H7 d1 h) S2 W9 IDepartment of Electronic Systems Engineering
( A% h6 E9 s) |; C( |University of Essex, Wivenhoe Park, Colchester CO4 3SQ, U.K.: ^7 Y: r* n- o
$ R& x" h: ~6 F( O1 ]1 V5 k
5.         分離手寫數字字符圖像的識別( Disconnected Handwritten Numeral Image Recognition)
" R. c. i1 C) X  w1 D: t作者:Luan Ling Lee and Natanael Rodrigues Gomes
. u9 L, x" m6 j8 g( kDecom-Feec-Unicamp! e6 j/ p4 }$ l" C6 x# u) \* R0 |' f
Universidade Estadual de Campinas
5 l9 P( u8 a, _( {5 F
) A# j2 t. o- P+ k: X此外還有其它一些相關的學習材料,但筆者印象最深的就是這五篇論文。從閱讀資料的來源就可以看出教授Dr.Ihsin Phillips淵博的知識。通過這門課程的學習,可以擴展學生的思維,同時學生也更加深刻體會到交叉學科對本專業知識起到的一種補充和促進作用。- J& K2 X; l! U( H( B) j5 G

: w2 M- A' q* X總結- V% l' C9 l' J- h  E
筆者以自身的經歷從個人的視角來觀察分析美國大學計算機教育在本科和研究生階段的一些特點。如何盡快提高我國大學計算機的教育水平,以及如何提高大學計算機系學生的專業水平,需要你、我,大家的共同努力。
8 {2 }  j& v4 ]8 _# ]3 y1 G! [! n4 o # I7 h/ d' E7 b

0 U/ O  ]8 z2 |本文作者:鍾京馗   美國紐約市立大學計算機科學系助教
回復 给力 爆菊

使用道具 舉報

發表於 2005-3-20 19:52:24 | 顯示全部樓層
提示: 作者被禁止或刪除 內容自動屏蔽
回復 给力 爆菊

使用道具 舉報

發表於 2005-3-20 22:56:24 | 顯示全部樓層
提示: 作者被禁止或刪除 內容自動屏蔽
回復 给力 爆菊

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 免费注册

本版積分規則

點基跨境 數位編輯創業論壇

GMT+8, 2025-7-19 06:35

By DZ X3.5

小黑屋

快速回復 返回頂部 返回列表