Introduction to Computer Science and Programming UsingPython計算機科學(xué)及 Python 編程導(dǎo)論
本課是一門計算機科學(xué)的導(dǎo)論課,主要教授解決真實世界中的分析問題的方法。
這門課是一個edX系列課程(XSeries)中的第一課,系列課程共兩門,包含計算機科學(xué)及Python編程導(dǎo)論和計算思維及數(shù)據(jù)科學(xué)導(dǎo)論。這兩門課旨在幫助沒有計算機科學(xué)及編程學(xué)習(xí)經(jīng)驗的人,培養(yǎng)他們的計算思維,并且編寫程序來解決一些實用的問題。有些人把這兩門課當(dāng)作更高級的計算機科學(xué)課程的墊腳石,但對更多的人來說,這將是他們第一個也是最后一個計算機科學(xué)課程。
鑒于這些課程對大多數(shù)學(xué)生來說有可能是他們學(xué)習(xí)的唯一一個正式的計算機科學(xué)課程,我們決定將重點放在廣度上,而不是深度。這門課的目的是提供學(xué)生們在很多話題上的基礎(chǔ)知識,這樣當(dāng)他們?nèi)蘸笤诼殬I(yè)生涯中遇到需要用計算來實現(xiàn)某些目標(biāo)時,他們就知道這樣是否可能。也就是說,這不是“計算欣賞”課,而是具有挑戰(zhàn)性的縝密的課程,學(xué)生們需要花費大量的時間及精力來學(xué)習(xí)如何讓計算機為他服務(wù)。
計算機科學(xué)及Python編程導(dǎo)論課內(nèi)容包括計算概念,Python編程語言,一些簡單的算法,測試和調(diào)試以及計算復(fù)雜性導(dǎo)論,和一些簡單的算法數(shù)據(jù)結(jié)構(gòu)。
講師:
Eric Grimson麻省理工學(xué)院 計算機科學(xué)和電機工程系 教授、副校長
W. Eric L. Grimson 是 MIT 的副校長,計算機科學(xué)和工程教授,及醫(yī)學(xué)工程 Bernard M. Gordon 教授。他于 2011 年被任命為 MIT 副校長之職。Grimson 教授自 1984 年起在 MIT 任職,曾擔(dān)任電機工程和計算機科學(xué)系主任、系副主任及教育主任。Grimson 教授在計算機視覺方面的研究得到國際認可,特別是在醫(yī)學(xué)圖像分析方面的應(yīng)用更是如此。他及他的學(xué)生們已經(jīng)研制出活動和行為識別技術(shù)、物體和人體識別、圖像數(shù)據(jù)庫索引、圖像導(dǎo)航外科手術(shù)、場地建模等計算機視覺在各領(lǐng)域的應(yīng)用。Grimson 教授在整個事業(yè)中都積極與學(xué)生進行互動。他教授 6.001 計算機程序語言編譯與設(shè)計已有 25 年之久,現(xiàn)在則在教授 6.00 計算機科學(xué)和編程導(dǎo)論以及 6.01 EECS導(dǎo)論課程。他還教授本科課程包括計算機架構(gòu)、軟件工程和信號處理。Grimson 教授總計帶出萬余名 MIT 本科生,并為近 50 名 MIT 博士生擔(dān)任導(dǎo)師。Grimson 教授是加拿大薩斯喀徹溫人。他于1975 年在加拿大里賈納大學(xué)獲得數(shù)學(xué)和物理榮譽理學(xué)士學(xué)位,并于 1980 年在 MIT 拿到數(shù)學(xué)博士學(xué)位。他在 MIT 的工程學(xué)院獲得教學(xué)卓越Bose 獎。他是美國人工智能協(xié)會 (AAAI) 成員,也是美國電氣與電子工程師協(xié)會 (IEEE) 成員。
Ana Bell麻省理工學(xué)院 計算機科學(xué)和電機工程系 講師
Ana Bell 是 MIT 計算機科學(xué)和電機工程系講師。Bell 教授在加拿大溫哥華英屬哥倫比亞大學(xué)獲得應(yīng)用科學(xué)學(xué)士學(xué)位。她在普林斯頓大學(xué)拿到碩士和博士學(xué)位。她的研究方向是計算生物學(xué),特別是使用計算技術(shù)回答這類問題:基因在做些什么?基因如何彼此間作用,并影響其他小分子?她在普林斯頓大學(xué)擔(dān)任兩個學(xué)期計算機科學(xué)導(dǎo)論的助教經(jīng)歷讓她發(fā)現(xiàn)了自己對從教的熱情。從那以后,她就一直尋找機會,為學(xué)生們介紹計算機科學(xué)的奇妙世界。
John Guttag麻省理工學(xué)院 計算機科學(xué)和電機工程系 教授
John Guttag 教授是 MIT 計算機科學(xué)和電機工程的 Dugald C. Jackson 教授。他負責(zé)計算機科學(xué)和人工智能實驗室的數(shù)據(jù)驅(qū)動醫(yī)學(xué)研究小組。該小組從事高級計算技術(shù)在醫(yī)學(xué)領(lǐng)域的應(yīng)用研究。目前的項目包括預(yù)測不良醫(yī)學(xué)事件、預(yù)測病患對治療的具體反應(yīng)、無創(chuàng)監(jiān)測和診斷工具,以及遠程醫(yī)療。他還從事數(shù)據(jù)網(wǎng)絡(luò)、運動分析、軟件無線電、軟件工程和機器定理證明等方面的研究、出版和講座。Guttag 教授在布朗大學(xué)獲得英語學(xué)士學(xué)位,以及應(yīng)用數(shù)學(xué)的碩士學(xué)位。他的博士學(xué)位是在多倫多大學(xué)獲得。從 1999 年 1 月至 2004 年 8 月,Guttag 教授一直擔(dān)任 MIT 電機工程和計算機科學(xué)的系主任。他是美國計算機協(xié)會的成員,也是美國文理學(xué)院院士。
【課程大綱】
第一周 Week 1
計算科學(xué)簡介 Lecture 1 – Introduction to Computation
編程基礎(chǔ) Lecture 2 – Core Elements of Programs
第二周 Week 2
簡單算法 Lecture 3 – Simple Algorithms
函數(shù) Lecture 4 – Functions
第三周 Week 3
遞歸 Lecture 5 – Recursion
對象 Lecture 6 – Objects
第四周 Week 4
調(diào)試 Lecture 7 – Debugging
斷言和異常 Lecture 8 – Assertions and Exceptions
第五周 Week 5
效率和增長量級 Lecture 9 – Efficiency and Orders of Growth
內(nèi)存和查找 Lecture 10 – Memory and Search
第六周 Week 6
類 Lecture 11 – Classes
面向?qū)ο缶幊?Lecture 12 – Object Oriented Programming
第七周 Week 7
樹 Lecture 13 – Trees
總結(jié) Wrap up
第八周 Week 8
研究視頻 Research Videos