成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

學(xué)生的第一門編程語言應(yīng)該是什么?

開發(fā) 后端
“學(xué)生第一次開始學(xué)習(xí)計算機(jī)科學(xué)(computer science,CS)時,應(yīng)該從哪種編程語言開始學(xué)習(xí)?”這一問題一直讓教育工作者備受困擾。

“學(xué)生第一次開始學(xué)習(xí)計算機(jī)科學(xué)(computer science,CS)時,應(yīng)該從哪種編程語言開始學(xué)習(xí)?”這一問題一直讓教育工作者備受困擾。來自密歇根大學(xué)的計算機(jī)科學(xué)教授 Mark Guzdial 也對此進(jìn)行了大量思考與研究,然而其近期發(fā)表在《ACM 通訊》上的一篇文章則指出,他的兩個來自不同學(xué)校的 CS 同事都認(rèn)為,學(xué)生的第一門課程學(xué)習(xí)何種編程語言并不重要,重要的是 CS 的學(xué)習(xí)成果。因?yàn)槿绻麑W(xué)生很好地學(xué)習(xí)了這些概念,那么他們接下來就可以簡單地將其應(yīng)用到任何要學(xué)習(xí)的語言當(dāng)中。

對此,Guzdial 則在文中指出,當(dāng)這個領(lǐng)域還處于比較早期的階段的時候,這種想法或許是正確的。但那是在 20 世紀(jì) 60 年代末,課程剛剛建立的時候;而今天,所有不同年齡段和經(jīng)驗(yàn)水平的學(xué)生都在學(xué)習(xí)如何編程,且他們最終都有著不同的需求。

對于這一問題,不同的大學(xué)也仍然有不同的答案,這從某種程度反映了他們的教學(xué)理念和看法。THENEWSTACK 指出,斯坦福大學(xué)在 2017 年就曾因其計算機(jī)科學(xué)專業(yè)的入門計算課程的一些變化引起了強(qiáng)烈的反響。

斯坦福大學(xué)的學(xué)生報紙報道稱,斯坦福大學(xué)計算機(jī)科學(xué)榮譽(yù)教授 Eric Roberts 花了五年時間致力于將該課程從 Java 過渡到 JavaScript,并最終創(chuàng)建了該課程基于 JavaScript 的新試驗(yàn)版本。因此,該課程被命名為 CS106J,而不是 CS106A。這一變化涉及到創(chuàng)建新的教科書和作業(yè)、以及培訓(xùn)新的助教,Roberts 本人也從退休狀態(tài)中走出來教授該課。

此前,斯坦福大學(xué)的入門課程一直是基于 C 語言編程的(更早之前是 Pascal 語言)。然而在 2002 年,Roberts 通過編寫教科書、并與其他教師合作重組課程和作業(yè),幫助學(xué)校將課程轉(zhuǎn)向了 Java。根據(jù) Roberts 的說法,Java 很早就被設(shè)計為“互聯(lián)網(wǎng)語言”。但在過渡到 Java 十多年后,他又認(rèn)為,Javascript 已經(jīng)取代了 Java 作為網(wǎng)絡(luò)語言的地位。

現(xiàn)在,再次查看斯坦福大學(xué)的教學(xué)大綱,你會發(fā)現(xiàn) CS106A 似乎正在使用 Python(和 PyCharm IDE),而 CS106B 的教學(xué)大綱則表明他們正在使用 C++。

與此同時,哈佛大學(xué)自己的入門課程 CS50 多年來則一直堅(jiān)持使用多語言方法。在第一周,學(xué)生們采用 Scratch 編寫程序,之后切換到 C 語言;接著在后面幾周再次切換到 Python,再然后是 JavaScript。該課程的官方 FAQ 解釋稱,"CS50 不是只教一種語言,而是向?qū)W生介紹一系列'程序性'編程語言,每一種都是在概念上建立的。最終的目標(biāo)是讓學(xué)生覺得他們不是'學(xué)會了如何在 X 中編程',而是他們'學(xué)會了如何編程'。 "

至于為什么要從 C 語言開始,該課程的講師 David J. Malan 教授則認(rèn)為,學(xué)習(xí) C 語言的幾周讓學(xué)生有機(jī)會了解所有編程語言的一些基本構(gòu)件,同時也提供了解釋緩沖區(qū)溢出這一關(guān)鍵安全概念的機(jī)會。

"我認(rèn)為在一周時間內(nèi)用 C 語言實(shí)現(xiàn)一個哈希表(或 trie),然后在一周左右后僅用一行 PHP 或 JavaScript 代碼就能實(shí)現(xiàn)同樣的內(nèi)容,這也是一件很強(qiáng)大的事情"。此外,C 語言也是一種相對較小的語言,所以 "到了學(xué)期中期,學(xué)生們幾乎已經(jīng)了了解到了所有的東西(除了 unions 和函數(shù)指針)。"

不過,ACM Communications 的一篇文章指出,截至 2014 年,Python 已經(jīng)成為美國頂級計算機(jī)科學(xué)課程(包括麻省理工學(xué)院和加州大學(xué)伯克利分校)的入門課程中最受歡迎的語言。具體來說,排名前 10 位的 CS 系中有 8 個(80%),排名前 39 的系中有 27個(69%)在 CS0 或 CS1 的入門課程中教授Python。Java 緊隨 Python 之后,其次分別是 MATLAB、C、C++,然后是 Scheme 和 Scratch。

2016 年,三位英國研究人員進(jìn)行的一項(xiàng)調(diào)查則指出,在英國大學(xué)中,使用 Java 的課程是 Python 的兩倍多。“盡管事實(shí)上,相同的受訪者認(rèn)為 Python 更容易教學(xué)和學(xué)習(xí)”。對此,研究人員引用的一個可能的解釋是:由社區(qū)指數(shù)衡量的長期的行業(yè)流行。

而溫斯頓-塞勒姆州立大學(xué)的三位研究人員在 2019 年為 ACM 的計算機(jī)科學(xué)教育小組撰寫的一篇論文中甚至認(rèn)為,每個計算機(jī)科學(xué)學(xué)生也應(yīng)該掌握大數(shù)據(jù)和云計算的基礎(chǔ)知識,并擁有一些在云中部署和管理大數(shù)據(jù)應(yīng)用程序的實(shí)踐經(jīng)驗(yàn)。還提出,與其單獨(dú)開設(shè)云計算課程,不如將這些材料整合到多個本科計算機(jī)科學(xué)課程中。

根據(jù)英國研究人員的說法,向初級程序員教授什么仍然是一個重要問題。他們的論文認(rèn)為,不能輕易掌握編程幾乎肯定意味著不能在計算機(jī)科學(xué)領(lǐng)域取得進(jìn)展。并指出,因此自從大學(xué)開始進(jìn)行計算機(jī)科學(xué)教學(xué)以來,先教哪種語言的問題一直存在著激烈的爭議。

密歇根大學(xué)教授 Guzdial 則仍然認(rèn)為,學(xué)生從哪種語言開始學(xué)習(xí)是很重要,但他也希望教育工作者重新審視一個形成性假設(shè)。他在自己的 ACM 文章中回顧了 1979 年的一項(xiàng)研究,該研究認(rèn)為,一旦學(xué)生學(xué)會了更廣泛的語義概念,他們就可以將其應(yīng)用于任何后續(xù)語言(只需要掌握相對容易的語法差異)。

但是 Guzdial 指出,在那個時代,大多數(shù)計算機(jī)科學(xué)的學(xué)生都是傳統(tǒng)的大學(xué)生。早期進(jìn)入計算機(jī)科學(xué)的學(xué)生通常比今天學(xué)習(xí)編碼的普通學(xué)生具有更強(qiáng)的數(shù)學(xué)背景。因此,早在 20 世紀(jì) 70 年代末,教育工作者可能高估了轉(zhuǎn)換編程語言的難度,因?yàn)樗麄冏罱K只是在已經(jīng)理解的數(shù)學(xué)基礎(chǔ)上教授編程。

Guzdial 認(rèn)為,如果我們根據(jù)學(xué)生已經(jīng)知道的數(shù)學(xué)來教授編程語言的語義,那么新的語法只是一種新的數(shù)學(xué)形式主義。我們沒有必要讓編程與數(shù)學(xué)有關(guān),如果我們不期望學(xué)生首先了解數(shù)學(xué),也許早在 40 多年前就能期望更多的人學(xué)習(xí)編程。

本文轉(zhuǎn)自O(shè)SCHINA

本文標(biāo)題:學(xué)生的第一門編程語言應(yīng)該是什么?

本文地址:https://www.oschina.net/news/149329/students-first-programming-language

責(zé)任編輯:未麗燕 來源: 開源中國
相關(guān)推薦

2012-09-04 11:20:31

2021-01-15 23:28:50

區(qū)塊鏈開發(fā)數(shù)字化

2012-12-27 14:54:48

簡歷求職者

2017-04-07 10:45:43

編程語言

2017-04-07 16:49:00

語言程序編程

2022-12-01 16:56:03

智慧城市安全環(huán)境能源

2020-04-24 10:02:44

組件Vue組件庫

2018-01-11 15:31:17

Java語言感受

2023-03-02 08:37:15

2014-12-03 09:48:36

編程語言

2015-11-12 10:25:48

編程語言

2022-02-27 14:45:16

編程語言JavaC#

2015-11-11 10:01:42

編程語言選擇

2021-10-10 12:45:13

編程語言開發(fā)

2017-12-14 12:19:04

數(shù)據(jù)中心數(shù)據(jù)中心專家IT

2023-07-10 18:30:48

2022-02-21 11:15:59

編程語言后端開發(fā)

2020-09-27 15:52:02

編程語言C 語言Python

2024-06-27 09:00:00

人工智能編程語言軟件開發(fā)

2020-03-19 15:21:57

智慧城市藝術(shù)社會
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 午夜久久久久 | 成人精品一区亚洲午夜久久久 | 中文字幕亚洲一区二区三区 | 先锋av资源网 | 国产伦精品一区二区三毛 | 91网站在线看 | av网址在线 | 狠狠的日| 色婷婷激情 | 精品欧美色视频网站在线观看 | 五月婷婷激情网 | 91久久久久久 | 精品国产欧美在线 | 亚洲免费在线观看 | 在线一区| 亚洲综合电影 | 国产精品一区二 | 懂色tv| japanhd美女动| 国产成人精品一区二三区在线观看 | 亚洲精品电影在线观看 | 一级毛片免费视频 | 亚洲日韩中文字幕一区 | 国产999在线观看 | 亚洲成人久久久 | 精品麻豆剧传媒av国产九九九 | av永久免费 | 国产精品亚洲一区 | 二区在线视频 | 91新视频| 在线一级片 | 中文字幕一区二区在线观看 | 亚洲精品www久久久 www.蜜桃av | 日韩亚洲欧美一区 | 操久久 | 成年人在线观看视频 | 国产黄色大片在线免费观看 | 久久国产精品72免费观看 | 久久久久国产一区二区三区四区 | 91精品国产自产精品男人的天堂 | 亚洲一区二区精品视频 |