運算思維



 一個好的問題,
或是說,
讓人看的懂得問題

應該要包含四點:

1. 目的(你的程式要達成什麼目的?)

2. 手段(你怎麼達成你的目的?)

3. 錯誤(在什麼場景下發生的什麼錯誤?)

4. 程式碼(有排版過的程式碼,拜託)

以上問題可以修正成:

  1. 我想要讓 A 手機跟 B 手機傳遞訊息,

  2. 我用的是 java 的 socket

  3. 可是按下發送時
    出現:
    java.net.SocketException: Connection refused: connect
    想請問一下有可能是錯在哪裡?

  4. 部分程式碼:https://gist.github.com/xxxxxx

資料來源:

[心得] 十年程式自學之路

 
  1. 學習目標
  2. 範例
  3. 範例研習
    1. 拆解
    2. 找出規律
      1. 初始化
      2. 同時
      3. 循序
      4. 選擇
      5. 重複
    3. 歸納與抽象化
      1. 控制:重複結構
        1. 計次式迴圈(repeat n次)
        2. 條件式迴圈(if~else~)
        3. 無窮迴圈(forever)
      2. 選擇結構
        1. 單向選擇結構
        2. 雙向選擇結構
      3. 運算式
        1. 算術運算
        2. 比較運算(關係運算)
        3. 邏輯運算
      4. 角色分身
      5. 偵測
      6. 資料
        1. 變數:角色變數、全域變數
        2. 清單
      7. 廣播&接收
      8. 更多積木:程序函數
        1. 無選項
        2. 有選項
    4. 設計演算法
  4. 貓咪劇場
    1. 故事大綱:
    2. 角色:
    3. 舞台:
    4. 音效:
  5. 模仿創作
  6. 分享交流


  1. 運算思維:???
    學會程式碼應該不是我們的目標。
    電腦與程式只是一種工具
    ,是一種達到目的的方法。
    真正的目標應該是學會思考的方式。
    換句話說,我們應該嘗試教授計算機科學,而不是教着寫程式代碼。

    1. 代碼無處不在
    2. 什麼是計算機科學?
      1. 解決問題
      2. 邏輯
      3. 系統
      4. 思考
    3. 什麼是編程?
      1. 通過學習解決問題的方法,訓練嚴密的邏輯來提高自己的能力
    4. 編程只是計算機科學的一部份
      1. DIY
      2. 解決問題
      3. 事業
  1. 教材教法學習共同體的對話
    1. 對話:文字形教材
      1. 學生
      2. 與教材的相遇與對話、
      3. 與他人(同學或老師)的相遇與對話、
      4. 與自己的相遇與對話。
    2. 學生:自信、信心、信任
    3. 解析問題:拆、找、試。
    4. 程式:初始化、同時、循序。
    5. 定義:變數、清單
    6. 結構化程式語言:循序、選擇、重複。
    7. 數學四階段
      1. 問對問題
      2. 將現實生活中的問題公式化
      3. 計算
      4. 將公式導到現實生活
    8. 計算機科學
      1. 解決問題:你將會學習演算法——就是通用的一些方法,像是分治演算法、遞迴、遺傳演算法、貪心演算法——説明你建模,分解,解決各種各樣的問題。
      2. 邏輯:你將開始使用精密又正式的方法思考問題,像是抽象,邏輯代數,數論和集合論,來用嚴密的邏輯解決問題。
      3. 數據:你將會接觸到資訊理論,並開始思考什麼是資訊?如何表述?如何對真實的世界建模?
      4. 系統:如何設計與構建複雜的系統,來實現一系列的需求?系統工程是一個幾乎在各個領域都涉及到的重要的主題。
      5. 思考:瞭解人類大腦最好的方式,是試著去複製它。像人工智慧、機器學習、電腦視覺、自然語言處理這些話題,不僅僅在電腦科學領域,同時在數學,生物,物理,哲學等方面都是最前沿的科學。
ą
老師謝東森,
2017年6月15日 上午6:24
ċ
程式設計教學架構.xmind
(252k)
老師謝東森,
2017年6月15日 上午6:24
Comments