人人都該學寫程式的反思:也許我們更該學習的是「電腦思維」
文章推薦指數: 80 %
剛剛提到的所有科技都是由軟體驅動,在生活中的每個層面,大家都被程式碼 ... 程式設計完全是基於上述電腦科學的原則,剛剛談到的邏輯、演算法、系統 ...
集團資訊
關於我們
集團介紹
我們的團隊
旗下媒體
關鍵評論網
everylittled.
INSIDE
運動視界
Cool3c
電影神搜
未來大人物
歐搜哇
旗下節目
多元服務
Ad2
Taketla拿票趣
關鍵議題研究中心
Cr.ED
ShareParty
達思智能科技
與我們合作
內容行銷與廣告業務
異業合作
原創內容暨內容媒體業者合作
加入我們
新聞中心
趨勢
人人都該學寫程式的反思:也許我們更該學習的是「電腦思維」
2014/05/20
angela
近年來,程式設計在全球帶起一股風潮,寫程式不再是男性專屬,而是不分男女老幼的全民運動。
面對這股全民寫程式的浪潮,現任LinkedIn資深軟體工程師的YevgeniyBrikman認為這股鼓吹大家學習寫程式的風潮有點誤導大眾,他認為大家在學習寫程式的同時,更重要的是學習電腦科學的思維模式。
評論
評論
近年來,程式設計在全球帶起一股風潮,寫程式不再是男性專屬,而是不分男女老幼的全民運動。
讀者是否也發現身邊越來越多朋友加入寫程式的行列,甚至開始自學寫程式呢?Yipit創辦人曾說:「coding不是工程師的專利,每個人都要學習程式語言」,例如在全球各地舉辦的RailsGirls工作坊,就幫助許多女性進入Ruby以及Rails的程式世界。
除了擺脫過去寫程式是男性專屬的既定印象,寫程式的年齡層也有年輕化的趨勢,像是RailsGirls創辦人推出教小朋友寫程式的繪本、英國小學生使用iPad學習寫程式等新聞屢見不鮮。
此外美國非營利機構Code.org曾找來多位科技名人如BillGates、MarkZuckerberg以及體育界和政界明星拍攝短片,倡導每個人都該學習寫程式,呼籲社會該更加重視程式教育以解決工程師短缺問題。
來自愛爾蘭CoderDojo則是鼓勵年輕人與小朋友寫程式的非營利組織,據點分布於全球多個城市。
然而,面對這股全民寫程式的浪潮,曾任TripAdvisor軟體工程師、現任LinkedIn資深軟體工程師的YevgeniyBrikman在其個人部落格發表「Don'tlearntocode.Learntothink.」一文,認為這股鼓吹大家學習寫程式的風潮有點誤導大眾,他認為大家在學習寫程式的同時,更重要的是學習電腦科學的思維模式。
大家對程式設計多少有點理解是好事,但寫程式不該成為最終的學習目標。
寫程式是一種工具,是達成目標的方法。
那麼真正的目標是什麼呢?YevgeniyBrikman認為,讓大家學會全新的思考模式才是真正的目標,我們該試著學習電腦科學而不只是寫程式。
接下來,將會解釋兩者的差異,並解釋為何學習電腦科學更為重要。
歡迎來到真實世界首先,或許很多人會想問:「無論是程式設計或電腦科學,到底跟我有什麼關係?為什麼我該關心?」事實上,在閱讀本文時,您可能正使用Chrome或Firefox瀏覽器開啟網頁,裝置則是採用Windows或OSX系統。
而您今天大概花了一些時間收發email、瀏覽朋友的Facebook動態或在Youtube看了幾個熱門影片。
現代人的生活與電腦緊密連結:醫療記錄、稅務記錄、個人履歷等等,各種想得到的服務幾乎都能在電腦上操作。
而現在可能拿在您的手上、放在口袋或手邊的智慧型手機,使用了GPS定位,配備相機、觸控螢幕還有許多應用程式。
此外您每天接觸的電視節目、電影、音樂、遊戲等等都與電腦繪圖和數位音效處理緊密相關。
出門在外您可能會使用GoogleMap尋找路線,現在甚至有Google無人駕駛車行駛於一般道路。
而飛機則有自動駕駛、甚至在高空中也有Wifi以及與塔台的通訊系統。
再更高一點,太空中的衛星正遵循軌道圍繞著地球,提供氣象資訊與即時衛星影像。
軟體正在吃掉全世界。
但這一切都還只是開始,在人們意識到這件事之前,大家早已穿戴起科技產品、用電腦程式控管家中門禁,並在不久的將來讓機器人清掃環境、乘坐在無人駕駛車裡通勤、居住在虛擬實境裡。
剛剛提到的所有科技都是由軟體驅動,在生活中的每個層面,大家都被程式碼環繞,而未來程式碼的數量只會不斷增加,所以電腦科學和寫程式與每個人的生活都有緊密連結。
什麼是電腦科學?根據維基百科定義,電腦科學是系統性研究訊息與計算的理論基礎,以及研究它們在電腦系統中如何實作與應用的實用技術學科。
以下是幾個電腦科學相關概念解釋:問題解決(Problemsolving)透過學習演算法,像是divideandconquer、recursion、heuristics、greedysearch、randomizedalgorithms等,幫助你解決問題。
邏輯(Logic)使用精準和正式的方法去思考,包括abstraction、booleanlogic、numbertheory、settheory等理論,幫助你更嚴謹的解決問題。
數據(Data)你會開始接觸資訊理論並開始提出類似「什麼是資訊?」、「如何呈現資訊?」等這類問題。
系統Systems如何設計並建立一套複雜的系統且同時滿足一連串的要求和限制呢?系統工程幾乎在所有的商業模式中都是是相當重要和基本的。
思考(Thinking)理解人類心智的最好方式便是複製,像是人工智慧AI、自然語言處理等是走在最前端的科技,其不止牽涉電腦科學,同時還有生物學、心理學、哲學和數學。
注意到了嗎?上面完全沒有提到跟寫程式相關的詞彙,這是因為寫程式只是實現電腦運算的一種工具,寫程式並不包含在電腦科學的概念宗旨裡。
電腦科學不只是跟電腦相關,就如同天文學不只是望遠鏡、生物學不只是顯微鏡、化學不只是燒杯試管一般。
科學是與工具無關的。
——MichaelFellowsandIanParberry事實證明,比起電腦,我們更倚賴另一種運算工具:大腦!而電腦科學的目標正是要教導我們以一種全新、普世且能被廣泛應用的方式思考。
當科技變得越來越普及時,這種全新的思考方式將會變得跟物理、數學、生物、歷史等學科一樣重要。
總而言之,光是思考是不夠的,我們必須知道如何應用。
在物理領域,我們以磁鐵、棱鏡進行實驗;在生物領域,我們以培養皿、試管進行觀察;在電腦科學領域,我們學習寫程式。
什麼是程式設計?程式設計,或說是寫程式,是指如何對電腦下指令以完成某些動作。
如果從來沒寫過程式,您大概曾經在App中點擊過某些按鈕,這些App正是由許多程式碼組成,透過程式碼告訴電腦如何展示介面、要在哪裡取得數據以及如何回應使用者的點擊。
程式設計完全是基於上述電腦科學的原則,剛剛談到的邏輯、演算法、系統工程等能用來建構任何事情,從您正用來閱讀本文的瀏覽器到飛機上的自動駕駛程式都可以。
即使程式設計牽涉到許多數學與結構,但這同時也相當能激盪創意的實作:用一條條的程式碼,就能把想法化為真實存在的產品。
學習程式設計能為你帶來不少好處,以下YevgeniyBrikman提出三點:DIY如果你會寫程式,你就能建立專屬於自己的成品,從最簡單的開始,例如用Excel表格計算自己的稅務資訊,更難一點點,建立自己的網站、開發自己公司的App甚至打造一款手機遊戲與朋友共享。
故障排除一旦你開發了App,便會發現要開發其他App也沒那麼難了。
一旦你不再害怕電腦——未知的部分——你就朝著成為技術支援專家前進一步。
當科技接觸生活中的每個部分,了解並且探索如何操作它就變得跟學習如何閱讀一樣重要。
職涯學習電腦科學的目標不是為了成為專業工程師,如同我們從小在校園裡學習數學、物理、化學一樣。
不過如果發現自己對電腦科學有興趣的話,不難發現軟體工程是現在成長最為快速、高薪的工作選項之一。
把電腦科學和程式設計結合在一起最後讓我們再總結一下:電腦科學是一種新的思考方式,其中的概念對身處在充滿科技環境中的每個人相當有用。
程式設計是學習電腦科學相當重要的一環,用於將電腦科學的思維付諸實行。
然而程式設計本身並不該被視為學習終極目標。
如何開始第一步身處在這個時代,幸運的是我們手邊有許多資源能從今天開始自學電腦科學!事實上,這可能是最好入門的學科了,你只需要一台電腦和網路就夠,正在閱讀本文的讀者大概都具備了這兩項基本條件了!透過以下學習平台,大家今天就能開始上電腦科學的第一課:大學課程CourseraUdacityMITOpenCourseWareStanfordEngineeringEverywhereAcademicEarth線上課程KhanAcademyTreehouseMITScratchCodecademyCodeSchool社團與組織CoderDojoGirlsWhoCodeGirlDevelopItCode.orgCodingmeetupGroups歡迎加入「Inside」Line官方帳號,關注最新創業、科技、網路、工作訊息
分享文章或觀看評論
評論
angela
老大不小的實習生。
多了兩年的學生身份ya,很開心能繼續待在inside學習、充實自己!
品牌
FedEx、博通都愛用!Okta如何協助企業打造「去中心化」身份管理?
2022/03/11
廣編企劃
資安
、遠端工作
、零信任策略
、奧登資訊
隨著新冠疫情加速成型混合辦公模式,遠端工作使各行各業的IT基礎設施更為多元,讓成員可透過更多設備、網路和應用程式連接工作。
在疫情爆發前,許多企業仍沿用傳統的資安部署,而零信任則以「從不信任,始終驗證」的概念,要求公司不斷評估訪問權限,同時不為用戶和設備增加阻礙。
評論
SPONSORED
評論
企業身份雲供應商Okta近期發佈的2021年亞太地區零信任安全狀況年度調查指出,亞太地區有多達77%的組織因疫情而加速採用「零信任策略」;其中更有三分之一的企業,正優先為組織加速「去中心化」的身份驗證部署,用戶的單點登入(SSO)和多因子身份驗證(MFA)等帳號配置,都是導入零信任策略初期的關鍵作為。
Okta所提供的Okta身份雲(OktaIdentityCloud),能夠使組織在「確切時間」,將「正確人員」安全地連接到「合適技術」。
全球知名的半導體公司博通(Broadcom)、物流龍頭聯邦快遞(FedEx)都是Okta解決方案的客戶之一。
FedEx導入週期短,博通讓併購作業更無縫化回顧2020年,新冠疫情開始肆虐美國時,FedEx隨即開始部署Okta身份雲解決方案至組織中。
在短短36小時內,IT團隊就部署了數個關鍵應用程式至Okta身份雲,例如Salesforce、Zoom和Office365等,提供組織安全快速的訪問方式。
隨著FedEx逐漸淘汰傳統IAM解決方案,現已成功將約1,000多個應用程式(包含SaaS、本地和雲端原生應用),全數整合至Okta身份雲,讓全球超過85,000名員工受惠於此;在簡化流程時,也能確保內部資安的方法,使公司能夠安全、高效地滿足客戶需求。
另外一個知名應用案例,則是素來以併購大型企業聞名的晶片大廠博通。
在過去十年中,博通平均每年就完成一至二次的併購作業。
事實證明,組織轉型或是擴增都對IT基礎架構帶來重大挑戰。
博通在Okta的協助下,快速提供內部新成員對GSuite、Box和Workday等雲端服務的無縫訪問,讓新進員工第一天即能快速上手使用。
博通的身份管理與服務經理NeerajMalhotra形容,「其美妙之處在於,每個人都有單一門戶,也都能看到他們有權使用的應用程式和服務,且可以透過一次性登入來訪問這些應用程式。
」SSO與MFA雙管齊下,更能為企業抵禦風險台灣企業該如何將「零信任策略」導入組織中?奧登資訊策略長周義淵描述道,人們很難記住自己所有應用程式的登入密碼,而透過單點登入(SingleSignOn,SSO),等於用戶就只需要記住一個密碼,「但這也意味著,若是駭客破解了這組密碼,也就敞開了所有通過其他入口的機會。
」但若是加入多重因子身份驗證(MFA)的功能,就能讓企業在管理「去中心化」身份時更有力。
Okta身份雲所提供的身份驗證工具單點登入(SSO),會使用戶在訪問應用程式和服務時,提供一個彈出式部件或登入頁面,讓用戶只需一個密碼即可訪問多個應用程式。
其背後的原理,就是當用戶運行邦聯式等各種模式的SSO時,會創建一個身份驗證權杖,並將其儲存在瀏覽器或伺服器。
接著,用戶訪問的任何應用程式或網站,都將透過SSO服務進行檢查,接著該服務會再次發送用戶權杖,進而確認其身份、提供訪問權限。
PhotoCredit:奧登資訊Okta身份雲所搭載的MFA功能,則是另一個身份訪問管理(IAM)的關鍵要素,其能夠最有效地降低風險,例如帳號接管攻擊、個人數據洩露,以及隨之而來的撞庫攻擊。
在為用戶進行身份驗證時,MFA會要求用戶提供不同類型的資訊或「因子」來確認用戶的訪問權限,當員工在辦公室登入應用程式時,可能會在其行動裝置上收到推播通知,要求批准或拒絕訪問請求。
但是,當用戶從不同位置登入時,他們可能需要提供不同的、更安全的因素,例如TouchID。
更甚於此,特定因子也可用於確認具有高級訪問權限的用戶身份,以確保組織最敏感的數據受到保護。
PhotoCredit:奧登資訊奧登資訊為Okta在台灣的合作夥伴,其經驗豐富的銷售和網路安全技術顧問團隊,能夠提供客戶全方位技術與產品支援。
Okta身份雲包含單一登入、自適應多重因子驗證、生命週期管理等產品,能夠協助客戶迅速部署服務,並打造符合企業所需的全方位解決方案。
3/29奧登資訊研討會:雲網融合,靈活佈署:邁向零信任身份管理之旅Okta–Broadcom客戶成功案例Okta–FedEx客戶成功案例
本文章內容由「奧登資訊」提供,經關鍵評論網媒體集團廣編企劃編審。
分享文章或觀看評論
評論
廣編企劃
由關鍵評論網媒體集團《業務團隊》製作,由各品牌單位贊助。
業務與行銷相關合作,歡迎與我們聯繫。
延伸文章資訊
- 1第五話從生活上找尋邏輯 - xuan!LAB
電視機是我們生活中使用率頗高的一樣東西(雖說可能真的有人不看 ... 這些都是在實務應用上會遇到的事情,但是對於韌體撰寫來說,如果能將其邏輯思考 ...
- 2【程式設計師】為什麼孩子要學程式設計?好處太多了
想一想,你曾經在生活中遇過多少用程式設計所做出來的東西? ... 在推廣程式設計教育的時候說:「學寫程式,不再是面對難懂的文字符號,而是培養邏輯、勇於嘗試、實現 ...
- 3不用學程式也能訓練邏輯思維的方法
如果應用到生活邏輯,我們可能無法實驗,因此這個框架就變成是觀察、推論、驗證結果。透過這樣的流程可以訓練我們生活邏輯的思考力。前面提到你如何判斷 ...
- 4透過程式設計教育,孩子能學到什麼? - 親子天下
對於學習資訊科技的孩子來說,當有了邏輯思考的能力,加上想像力,再透過程式設計,就可以將腦中的世界具體表現出來。孩子能體會表現的樂趣,以及與 ...
- 5人人都該學寫程式的反思:也許我們更該學習的是「電腦思維」
剛剛提到的所有科技都是由軟體驅動,在生活中的每個層面,大家都被程式碼 ... 程式設計完全是基於上述電腦科學的原則,剛剛談到的邏輯、演算法、系統 ...