2017 年 01 月 03 日

程式設計 101

記得以前高中開始接觸電腦,第一堂課就是計算機概論,然後再開始上機學習 Basic 程式設計語言,計算機概論回想起來實在有點無聊,但是那些知識到目前為止卻歷久不變,到了專科修了一堂微處理機實驗的課程再到組合語言,然後再進到 C 語言 ,進了社會工作後幾年開始接觸物件導向程式設計,現在回想起來基礎知識對於學習都還是很有幫助。

但是近幾年隨著程式設計語言越來越高階,我猜大家學習程式設計應該不用先學計算機概論才上機吧? 但是程式設計會因為語言越來越進步就不用去理會那些最基本的知識嗎? 如果你不是本科系進入程式設計這一行,這堂課剛好就可以幫你補足這一塊。

我將從這門課程中學到什麼?

  • 計算位元
  • 理解二進位資料
  • 理解位元處理
  • 理解基本網路結構
  • 理解路由器,ISP,資料封包和HTTP
  • 程式設計語言的全面運作知識
  • 理解程式設計語言背後的概念
  • 理解變數和常數
  • 理解 functions,arguments和parameters
  • 了解軟體授權
  • 理解DRM,專利和行業道德

課程說明

大部分的人不知道他們的設備對於二進位資料是如何處理與運作,從他/她們的洗衣機到他們的智慧型手機。我發現甚至有些程式設計師沒有這樣的知識;我自己也犯了這個錯誤!

我錯過了學習程式設計語言而不去試圖理解電腦的硬體標準。作為程式設計師,我們正在控制硬體,最終即使你使用 Javascript 寫程式,你需要知道記憶體和程式語言的工作原理。因此,理解二進位資料,永久和暫存記憶體,CPU,SPU,GPU,網路等是至關重要的,即使你是一個web開發人員,這仍然適用於你。

本課程將是知識的廣泛基礎給予並涵蓋特定主題的了解;讓你站在一個堅實的基礎上成長。我不相信首先理解程式設計語言是正確的方法。程式設計語言已經演變為我們的工具。不是電腦!因此,如果我們了解電腦的硬體,我們將清楚地了解我們的程式是如何控制我們的設備。

電腦是我們創造的有益於人類的工具,然而隨著我們要改進它們需要越來越多的工具。然而,從第一台發明電腦的核心原理並沒有多大改變。隨著時間的推移,工具或電腦已經精進與完善。然而,基本原理的核心過程和簡單性從計算的基礎是相同的,即計算的基礎,處理 0 和 1。電腦在任何時間都在處理資料從8進位到64進位。只要電腦能夠處理更多的位元,因此可以在一個時間完成更強大的操作。

不要誤會我,電腦遠遠比這更先進,但概念是我所說的是足夠簡單,即使一個初學者也可以學習大多數人認為進階和高於他/她們的程度的概念。

同樣,理解網路對於今天的web開發人員尤其重要。更多的應用程式正在上線,所以理解已經有十多年網路基礎設施,一直到今天仍然重要。

那麼程式設計語言呢?我們發明了它們當做與這些處理原始資料機器的構通工具。們必須理解為什麼我們有程式設計語言和它們如何工作。例如什麼是編譯器或是 transpiler?我們如何採取我們的溝通形式,人類語言,並把它變成一個有效的溝通,操縱電腦的程式設計語言?那麼在今天所有主要程式設計語言中的變數(variables),常數( constants ),函數( functions ),物件 ( objects )和陣列( array )呢?所有語言都有 operators ,如果在程式設計語言中沒有它們,你根本不會有程式設計語言。

在本課程中,我們將討論更多,程式設計範式( Paradigms ) 。範式只是指一個如何做某事的模型。所以在這種情況下,我們可以以某種方式或在某種典範中編寫我們的程式。很少有初學者考慮他/她們程式設計的風格。當建立小規模的應用程式不是那麼困難,但是當建立大規模的應用程式,範式變得勢在必行。

大部分的程式設計語言使你能夠有彈性地混合和匹配編寫應用程式的程式設計範式或是風格(styles)。你有幾種主要風格可供選擇,例如 assembly,procedural 和 object oriented。請注意,在一個單一的應用程式,你可以混合這些範式通常 procedural 和 object oriented 以最好地套用在你大規模應用程式的一部分。我將向你展示這些範式的風格,然後應用程式和OOP(物件導向的範式/程式設計)來展示人類心智如何與不同的範式一起工作;證明多種範式是前進的方向。

最後,在以清晰簡明的方式學習這麼廣泛的主題的結束時;你還將學到特別是新進者應該涵蓋的軟體授權( licensing )。然後學習軟體道德,例如 DRM,軟體專利和許多面向關於政府如何處理你的資料。

英文字幕:有

  • 想要了解如何將英文字幕自動翻譯成中文? 請參考這篇 How-To

課程網址  ♥找優惠折扣碼?

956404_da00

也許你會有興趣

喜歡我們的分享嗎?使用以下的社群分享按鈕分享給你的朋友吧!

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s

分類

01-onlinecourse

標籤

,