關於課程
課程包含
課程時長
課程總人數
觀看限制
學習升級
最新消息
課程內容
點我觀看精美網頁版介紹:http://course.huli.tw
這是個全民寫程式的年代
近年來「全民寫程式」風氣正夯,甚至學校也搭上潮流,在不久的將來,程式設計極有可能成為國中小教育的必修課程。或許你也受到這風氣的影響,覺得在未來,一定要會寫程式才能生存。
於是你開始上網尋找課程,可能學了 python,學了 rails,或甚至學了 iOS。有許多大同小異的課程,總是用固定的開場白、同樣的教學方式。先從程式語言的歷史講起,接著教你資料型態,再來講 if...else 流程控制,然後 for 迴圈。課程是聽完了,語法也學會了。但是要你實際動手做的時候,你卻呆住了。
為什麼?因為你學到的只是程式的語法,而不是內涵。你知道 for 迴圈可以重複做同樣的事情,但卻不知道如何利用迴圈寫出一個九九乘法表的程式。相信我,這些我都懂,因為我也是這樣走過來的。
其實,在你學習這些語法之前,你還可以做更多事情。
這堂課將帶給你的第一個寶藏,就是「程式思維」。你今天碰到一題解不出來的問題,可能不是你程式寫的不好,而是不知道「如何用程式把想法實作出來」。第一堂課將會針對「寫程式」這門學問,讓你能培養程式思維,更了解寫程式到底是怎樣的一件事情。
寬闊的視野,從廣泛接觸開始
無論你寫不寫程式,認識自己生活中最常使用的工具:電腦,我認為都是一件值得的事。因為在你的生活中可能常碰到一些與電腦有關的問題,但你不知道為什麼會發生,也不知道怎麼解決,例如說:
1. 為什麼我的帳號被盜了?我明明有裝防毒軟體。
2. 為什麼這個網站連不上,其他網站可以啊!
3. 電影裡的駭客好帥喔,他們到底怎麼做到的?
4. 這網頁怎麼是亂碼!
5. 為什麼忘記密碼的功能,不能直接告訴我我的密碼呢?
這堂課將會用許多生活化的例子,帶你了解每個領域背後的原理及知識。舉例來說,我們會接觸到電腦儲存資料的方式、網路相關的知識等等。
如果你是程式的初學者,那你就更適合上這堂課了!因為當你把基礎都修完,正準備大顯身手的時候,可能會碰到以下問題:
1. 我是寫網頁前端的,我現在想寫一個留言板,我做的到嗎?
2. 到底前端跟後端是什麼?搞的我好亂阿!
3. 我要怎麼儲存我的資料呢?存成檔案嗎?
4. 到底為什麼 << 運算子可以乘以2,這是什麼巫術?
5. 我的網站怎麼會被駭,我的程式碼看起來沒什麼問題阿!
會出現這些問題很正常。因為通常初學者所專注的都是某一個領域,例如說你是寫 Android/iOS 的,可能就不知道 Web 的前端/後端該如何區分。這都是因為你的知識廣度不夠,所以在碰到一個新領域的時候,往往充滿問號。
這堂課能帶給你的第二個寶藏:知識的廣度。從前端到後端,從資料儲存到網路傳輸,只要是與電腦相關的實用知識,我都能夠幫你一把,帶你認識基本的觀念,至少下次碰到的時候,不會毫無頭緒。
到這為止,你已經拿到兩個寶藏了。
最後,來寫程式吧!
(附圖:利用最後一堂會教的東西:scratch 寫出來的小遊戲)
經歷過上面兩段旅程之後,你將會了解自己為什麼要寫程式,並且知道寫程式是什麼。同時,你也已經走過各個領域,認識了電腦中的資料儲存方式、網路運作的概念、資訊安全的基礎等等,別小看這些東西!這些東西之所以重要,就是因為背後隱藏了許多重要的思維邏輯,能夠幫助你在寫程式的時候多加思考。
因此,在課程的尾聲,將會帶給你最後一個大祕寶:寫程式。
在我摸索了許多年之後,才發現 Scratch 這套至今我認為最適合教程式的軟體。利用 Scratch,可以讓你專注在邏輯思考,而不是頭昏眼花的語法(if, else, for, var, int...)。我會用 Scratch 教大家程式基礎,一旦融會貫通之後,學其他語言一定能事半功倍。
一共有三種人適合修這門課
第一種
假你一直想學程式,但一直在觀望,這麼多資源不知道選哪一個,那這堂課很適合你,因為我能讓你理解寫程式是什麼,就算我講解完之後你對程式沒興趣,你依舊可以在其他單元裡面學到實用的電腦知識。
第二種
你已經在學程式,卻覺得程式怎麼這麼難,放心,那不是你的問題。來修這堂課吧,我會從頭開始,讓你了解到底應該怎麼學程式,也讓你了解背後的原理,讓你在面對問題時能夠更有自信,
第三種
你對程式沒興趣,但一直對電腦相關知識很有興趣,那你來對地方了!這邊的許多課程就是在介紹你想知道的一切。讓我們一起拆開黑盒子,仔細研究裡面的東西吧!
要是你是不屬於以上三種的第四種人
你對程式沒興趣,對電腦相關知識也沒興趣,那你可以幫我推薦這堂課給有興趣的朋友嗎,拜託~
講了這麼多,老師你是哪位?
你好,我叫胡立
你可能沒聽過我,但你可能看過「程式自學十年心得」這篇文章
我從小學六年級開始自學寫程式,一路寫到現在大四,差不多是十年左右。
我鑽研的不深,但我看的廣。我會寫 Web 前端(html, css, jQuery, React)、後端(node.js, php),也會寫 App(CoronaSDK, Android, Titanium),因此各方面的知識我都略懂略懂。
我喜歡分享,超級喜歡,我認為分享可以讓世界變得更美好,因此我在我自己的 blog 上面,常常發表許多心得,也曾經免費提供程式教學,希望能幫助那些剛踏入程式界的初心者們。
我很有耐心,我願意一對一解答那些與程式相關的問題(太深的不行XD)。
目前是臉書近千人社團「cs50 中文討論區」的板主,與 TechBridge 技術週刊 的編輯。
修這堂課有什麼好處?
- 以你絕對聽得懂的方式,講述計算機概論的部分內容
- 認識與了解與電腦相關的基礎知識
- 長達六小時的超豐富課程,涵蓋計算機概論、網路、資訊安全、演算法、程式設計等多個領域
常見問答整理
1. 這門課會教你怎麼寫網頁或是 App 嗎?
不會喔,這門課主要是在講「學這些東西以前的基礎」,在上完這門課以後,你再去學這些會更瞭解自己到底在做什麼,碰到問題時也會知道該從哪邊下手。如果你對寫網頁有興趣,可以參考 hahow 上我很推薦的另外一門課:創業必備:前端網頁設計入門
2. 這堂課需要數學基礎嗎?
不用,你只要會加減乘除就好了。就算你是高中數學被當的學生,我也保證你可以寫好程式。
完整課程大綱
1. 到底「寫程式」是什麼?
用最簡單的說法,讓你了解到底寫程式是怎樣的一件事情。也會講述程式思維基礎,培養正確的觀念。
2. 透過 Command line 操作學習下指令
你有用過終端機嗎?這堂會介紹常用基本指令,讓你不用滑鼠也能操控電腦!
(包含基本指令與進階指令)
3 .我的錢怎麼變成負的?--電腦中的資料儲存與表示方法
由玩家在遊戲內金錢從兩億多變成負的現象,探討在電腦裡面數字是怎麼儲存的
包含三部分:各種進制相關教學、資料單位與儲存、編碼
4. 為什麼我連不上這個網頁--網路基礎概論
從連網頁這件最重要的小事開始,講解從你電腦連上網到看到畫面的流程。讓你了解什麼是伺服器,什麼是 IP 位置。
包含伺服器相關講解與瀏覽器開發者工具教學
5.駭客是怎麼做到的?--資料庫基礎與系統安全
示範一些常見的駭客攻擊手法,讓你對資訊安全有更深的認識。也會教到基本資料庫基礎以及很基本的密碼學
包含常見攻擊手段、資料庫基礎
6.怎麼會有這麼多程式語言?--程式語言基礎與簡介
這麼多程式語言,大家一定都聽過其中一些,但卻不知道差別在哪,這個主題會直接切入程式語言的運作方式,帶到組合語言、編譯器,最後簡單介紹各種程式語言
包含程式概念複習、逆向工程、程式語言介紹
7.不過就是排序,有什麼難的?--演算法概論
排序可以說是小小事情大大學問,藉由不一樣的排序方法,講到空間複雜度、時間複雜度等等的演算法概念
包含演算法簡介與各種排序法介紹
8.邁向程式之路--Scratch 入門教學
Scratch 基礎教學,帶你認識在各種語言都通用的觀念,只要把基礎打好,想學其他語言都不是難事

