2017-2018-1學期《程序設計與數據結構》教學進程


2017-2018-1學期《程序設計與數據結構》教學進程

目錄

考核方式

參考「《程序設計與數據結構》 課程教學」中的考核方式。

返回目錄

課前准備

課程基礎

教學進程

學習方法

  1. 進度很重要:注意前緊后松,必須跟上每周的進度,教材閱讀與總結,教材上的練習,問答小組,項目。我和助教們會認真對待每一位同學,請你不要因為困難而放棄,堅持下來,會發現自己的不可思議。

  2. 問答很重要:遇到知識難點請多多提問,這是你的權利更是您對自己負責的義務。問答到課程討論小組,提問請閱讀一下「如何提問」,答疑注意事項.

  3. 實踐很重要:解決書中習題,實踐教材中實例,完成個人和團隊項目,才算真的消化了課程內容。可以通過實驗樓課程配套環境或自己安裝的虛擬機在實踐中進行學習.實踐時參考「積極主動敲代碼,使用Junit學習Java程序設計」。

  4. 學習總結、實驗報告很重要:總結學習與實踐中的問題,得到老師和同學們的反饋,是進步的捷徑。學習完成后在博客園中把學習過程通過博客(隨筆)發表,博客標題「學號 2017-2018-1 《程序設計與數據結構》第x周學習總結」

總結模板(Markdown)如下:


# 學號 2017-2018-1 《程序設計與數據結構》第X周學習總結

## 教材學習內容總結

盡量簡單的總結一下本周學習內容
盡量不要抄書,浪費時間
看懂就過,看不懂,學習有心得的記一下

## 教材學習中的問題和解決過程
(一個模板:我看了這一段文字 (引用文字),有這個問題 (提出問題)。 我查了資料,有這些說法(引用說法),根據我的實踐,我得到這些經驗(描述自己的經驗)。 但是我還是不太懂,我的困惑是(說明困惑)。【或者】我反對作者的觀點(提出作者的觀點,自己的觀點,以及理由)。 )

- 問題1:XXXXXX
- 問題1解決方案:XXXXXX
- 問題2:XXXXXX
- 問題2解決方案:XXXXXX
- ...


## 代碼調試中的問題和解決過程
- 問題1:XXXXXX
- 問題1解決方案:XXXXXX
- 問題2:XXXXXX
- 問題2解決方案:XXXXXX
- ...

## [代碼托管](碼雲學習項目鏈接)

(statistics.sh腳本的運行結果截圖)

## 上周考試錯題總結
- 錯題1及原因,理解情況
- 錯題2及原因,理解情況
- ... 

## 結對及互評

### 點評模板:
- 博客中值得學習的或問題:
    - xxx
    - xxx
    - ...
- 代碼中值得學習的或問題:
    - xxx
    - xxx
    - ...
- 其他

### 本周結對學習情況 
    - [結對同學學號1](博客鏈接)
    - 結對照片
    - 結對學習內容
        - XXXX
        - XXXX
        - ...

## 其他(感悟、思考等,可選)

xxx
xxx

## 學習進度條

|            | 代碼行數(新增/累積)| 博客量(新增/累積)|學習時間(新增/累積)|重要成長|
| --------   | :----------------:|:----------------:|:---------------:  |:-----:|
| 目標        | 5000行            |   30篇           | 400小時            |       |
| 第一周      | 200/200           |   2/2            | 20/20             |       |
| 第二周      | 300/500           |   2/4            | 18/38             |       |
| 第三周      | 500/1000          |   3/7            | 22/60             |       |
| 第四周      | 300/1300          |   2/9            | 30/90             |       |


嘗試一下記錄「計划學習時間」和「實際學習時間」,到期末看看能不能改進自己的計划能力。這個工作學習中很重要,也很有用。
耗時估計的公式
:Y=X+X/N ,Y=X-X/N,訓練次數多了,X、Y就接近了。

參考:[軟件工程軟件的估計為什么這么難](http://www.cnblogs.com/xinz/archive/2011/04/05/2005978.html),[軟件工程 估計方法](http://www.cnblogs.com/xinz/archive/2011/04/06/2007294.html)

- 計划學習時間:XX小時

- 實際學習時間:XX小時

- 改進情況:

(有空多看看[現代軟件工程 課件 
軟件工程師能力自我評價表](http://www.cnblogs.com/xinz/p/3852177.html))
## 參考資料

-  [《Java程序設計與數據結構教程(第二版)》](https://book.douban.com/subject/26851579/)

-  [《Java程序設計與數據結構教程(第二版)》學習指導](http://www.cnblogs.com/rocedu/p/5182332.html)
-  ...
 

上面模板中用Markdown寫的總結的渲染效果大概如下:

xr

返回目錄

第0周學習指導

學習目標

  1. 了解課程上課方式
  2. 做好心理預期

學習資源

  1. 現代軟件工程講義 0 課程概述

    • 師生關系:trainer/trainee
    • 負擔與壓力:現在辛苦是因為欠帳,現在的努力可以發現自己的不可思議
  2. 現代軟件工程 習而學的軟件工程教育

    • 編程也一樣
    • 學習科學日益主流的觀念:從「情景學習」出發,當一名「認知學徒」,它的要點有:
      • 找到學習共同體:因為大量知識存在於學習共同體的實踐中,不是書本中,所以有效的學習不是關門苦練,而是找到屬於自己的學習小團體。如程序員在類似於github這樣的網站練習編程。
      • 隱性知識顯性化:隱性知識是使人們有能力利用概念、事實以及程序來解決現實問題的知識。
      • 模仿榜樣:榜樣可以是現實生活中的導師,也可以是網上的導師;
      • 培養多樣性:在多種情境中實踐,以此強調學習廣闊的應用范圍。如裁縫出師並不是已經練習了一萬小時,而是能夠縫制出足夠好的,各種各樣的衣服。
  3. 現代軟件工程講義 1 軟件工程概論: 程序和軟件的不同

  4. 為什么一定要自學?:善於自學的人,最終會形成一個重要的能力:融會貫通。

  5. 做中學:實踐,刻意練習

  6. 技能的反面 - 魔方和模仿: 通過不斷的練習, 把那些低層次的問題都解決了, 變成不用經過大腦的自動操作, 然后才有時間和腦力來解決較高層次的問題。

  1. 軟件開發不是閉卷考試: 對問題的了解,對技術的了解,估計任務的能力, 溝通和管理風險的能力,拒絕的能力

  2. 編程的智慧:反復推敲代碼,寫優雅的代碼,寫模塊化的代碼,寫可讀的代碼,寫簡單的代碼,寫直觀的代碼,寫無懈可擊的代碼,正確處理錯誤,防止過度工程,

學習任務

  • 閱讀以上博客,鼓勵發學習體會博客

返回目錄

第一周(9.4-9.10)

學習目標

  • 了解問題解決的一般方法
  • 了解軟件工程基本過程
  • 掌握算法分析的方法
  • 理解漸進復雜度,增長函數

學習資源

  • 教材:學習指導在這,重點內容,考試內容都有
  • 閱讀 「反作弊」:任何時候發現同學們有抄襲作業,抄襲代碼的情況,即時課程總成績清零
  • 雲班課PPT

學習任務

  • 教材第十二章
  • 參考上面的學習總結模板,把學習過程通過博客(隨筆)發表,博客標題“學號 《程序設計與數據結構》第一周學習總結
    • 提高學習效率,提高寫博客效率:盡量少摘抄書上的內容,主要寫有疑惑和有收獲的內容
    • 截止時間:本周日 24:00,不按時發博客要扣1分,優秀博客加1分
    • 不按上面的模板寫的要重寫,否則會扣1分
    • 嚴禁抄襲,違反者總成績清零

返回目錄

第二周(9.11-9.17)

學習目標

  • 開設團隊項目博客
  • 下載Java Collection API源代碼,下載工具
  • 掌握Java中泛型類,泛型方法的設計

學習資源

學習任務

  • 開設團隊項目博客,分配《構建之法》學習內容,提出不少於十個問題
  • 下載Java Collection API源代碼,下載工具搭建源碼分析環境
  • 掌握Java中泛型類,泛型方法的設計
  • 復習Java開發,調試的內容,Git的內容
  • 建議把學習過程通過博客(隨筆)發表,博客標題“學號 《程序設計與數據結構》第二周學習總結
    • 提高學習效率,提高寫博客效率:盡量少摘抄書上的內容,主要寫有疑惑和有收獲的內容
    • 截止時間:本周日 24:00,優秀博客加1分
    • 嚴禁抄襲,違反者總成績清零

返回目錄

第三周(9.18-9.24)

學習目標

  • 初步理解窮舉和分治的算法設計思想
  • 掌握線性和二分查找算法
  • 掌握各種排序算法

學習資源

  • 教材:學習指導在這,重點內容,考試內容都有
  • 閱讀 「反作弊」:任何時候發現同學們有抄襲作業,抄襲代碼的情況,即時課程總成績清零
  • 雲班課PPT

學習任務

  • 教材第十三章
  • 參考上面的學習總結模板,把學習過程通過博客(隨筆)發表,博客標題“學號 《程序設計與數據結構》第三周學習總結
    • 提高學習效率,提高寫博客效率:盡量少摘抄書上的內容,主要寫有疑惑和有收獲的內容
    • 截止時間:本周日 24:00,不按時發博客要扣1分,優秀博客加1分
    • 不按上面的模板寫的要重寫,否則會扣1分
    • 嚴禁抄襲,違反者總成績清零

返回目錄

第四周(9.25 - 10.1)

學習目標

  • 理解線性表的概念
  • 掌握用數組和鏈表實現線性表的方法
  • 熟練應用線性表解決問題
  • 分析Java Collections API中ArrayList和LinkedList的實現

學習資源

  • 教材:學習指導在這,重點內容,考試內容都有
  • 閱讀 「反作弊」:任何時候發現同學們有抄襲作業,抄襲代碼的情況,即時課程總成績清零
  • 雲班課PPT

學習任務

  • 參考上面的學習總結模板,完成實驗一,通過博客(隨筆)發表實驗報告,博客標題“2017-2018-1 學號 《程序設計與數據結構》第四周學習總結
    • 提高學習效率,提高寫博客效率:盡量少摘抄書上的內容,主要寫有疑惑和有收獲的內容
    • 截止時間:本周日 24:00,不按時發博客要扣1分,優秀博客加1分
    • 不按上面的模板寫的要重寫,否則會扣1分
    • 嚴禁抄襲,違反者總成績清零

返回目錄

第五周(10.2 - 10.8)

學習目標

  • 掌握Java Collections API的基本結構
  • 理解Collection的抽象設計
  • 掌握Collection實現的Java相關技術:繼承/多態/泛型/接口
  • 掌握棧的應用
  • 掌握棧的實現(數組,鏈式)
  • 分析Java Stack API

學習資源

  • 教材:學習指導在這,重點內容,考試內容都有
  • 閱讀 「反作弊」:任何時候發現同學們有抄襲作業,抄襲代碼的情況,即時課程總成績清零
  • 雲班課PPT

學習任務

返回目錄

第六周(10.09 - 10.15)

學習目標

  • 理解queue抽象數據類型
  • 會用queue解決問題
  • 掌握queue的實現(數組,鏈表)
  • 分析Java Collections API中queue相關的類

學習資源

  • 教材:學習指導在這,重點內容,考試內容都有
  • 閱讀 「反作弊」:任何時候發現同學們有抄襲作業,抄襲代碼的情況,即時課程總成績清零
  • 雲班課PPT

學習任務

返回目錄

第七周(10.16 - 10.22)

學習目標

  • 理解樹抽象數據類型
  • 會用樹解決問題
  • 掌握樹的遍歷方法
  • 掌握二叉樹的實現(數組,鏈表)
  • 會用二叉樹表示決策樹
  • 分析Java Collections API中樹相關的類

學習資源

  • 教材:學習指導在這,重點內容,考試內容都有
  • 閱讀 「反作弊」:任何時候發現同學們有抄襲作業,抄襲代碼的情況,即時課程總成績清零
  • 雲班課PPT

學習任務

返回目錄

第八周(10.23 - 10.29)

學習目標

  • 理解二㕚查找樹
  • 掌握二叉查找樹的實現
  • 掌握二叉查找樹的應用
  • 理解平衡二㕚樹
  • 分析Java Collections API中樹相關的類

學習資源

  • 教材:學習指導在這,重點內容,考試內容都有
  • 閱讀 「反作弊」:任何時候發現同學們有抄襲作業,抄襲代碼的情況,即時課程總成績清零
  • 雲班課PPT

學習任務

返回目錄

第九周(10.30 - 11.05)

學習目標

  • 理解堆和優先隊列
  • 理解堆和優先隊列的關系
  • 掌握堆的實現
  • 掌握堆排序的實現
  • 分析Java Collections API中堆和相關的類

學習資源

  • 教材:學習指導在這,重點內容,考試內容都有
  • 閱讀 「反作弊」:任何時候發現同學們有抄襲作業,抄襲代碼的情況,即時課程總成績清零
  • 雲班課PPT

學習任務

返回目錄

第十周(11.06 - 11.12)

學習目標

  • 理解圖與有向圖、無向圖
  • 理解帶權圖
  • 會應用帶權圖
  • 理解圖的廣度優先遍歷和深度優先遍歷
  • 掌握最小生成樹算法
  • 掌握圖的實現

學習資源

  • 教材:學習指導在這,重點內容,考試內容都有
  • 閱讀 「反作弊」:任何時候發現同學們有抄襲作業,抄襲代碼的情況,即時課程總成績清零
  • 雲班課PPT

學習任務

返回目錄

第十一周(11.13 - 11.19)

學習目標

  • 掌握Hash 函數的實現
  • 理解哈希表中的沖突問題
  • 分析Java Collection API中的Hash 實現

學習資源

  • 教材:學習指導在這,重點內容,考試內容都有
  • 閱讀 「反作弊」:任何時候發現同學們有抄襲作業,抄襲代碼的情況,即時課程總成績清零
  • 雲班課PPT

學習任務

返回目錄

第十二周(11.20 - 11.26)

學習目標

學習資源

學習任務

返回目錄

第十三周(11.27 - 12.3)

學習目標

學習資源

學習任務

返回目錄

第十四周(12.04-12.10)

學習目標

學習資源

學習任務

返回目錄

第十五周(12.11 - 12.17)

學習目標

學習資源

學習任務

后續學習預告

返回目錄

第十六周(12.18 - 12.24)

學習目標

學習資源

課程總結要求

  • 課程總結:這個總結寫的好的會被選出來出成一本博客書,大家認真寫一下,被選中的會送你一本。
  • 文中的鏈接都要配上二維碼,可以使用草料二維碼工具或博客園的功能,點擊自己每篇文章的最下面的微信圖標就有二維碼:

發表一篇博客

  • 學號 2017-2018-1 《程序設計與數據結構》課程總結

    • (按順序)每周作業鏈接匯總

    • 自認為寫得最好一篇博客是?為什么?

    • 作業中閱讀量最高的一篇博客是?談談經驗

    • 作業中與師生交互最多的一篇博客是?談談收獲

    • (按順序)實驗報告鏈接匯總

    • 代碼托管鏈接:

      • 給出statistic.sh的運行結果,說明本學期的代碼量目標達到沒有?
      • 加點代碼,改點代碼是理解的最好方式,參考編程的智慧,談談你的心得
      • 積極主動敲代碼做到沒?教材實踐上有什么經驗教訓?
    • 課堂項目實踐

    • 你有什么項目被加分,談談你的經驗

      • 優秀作業(給出鏈接)
      • 總結(給出鏈接)
      • 項目(給出鏈接)
      • 教程(給出鏈接)
      • ...
    • 你有什么項目被扣分,談談你的教訓

      • 不動手實踐
      • 遲交作業
      • 不驗收代碼
      • ...
    • 課程收獲與不足

      • 自己的收獲(投入,效率,效果等)
      • 自己需要改進的地方
      • 結對學習是不是真正貫徹了?寫一下你提供的幫助或接受了什么幫助,並對老師提供參考建議
    • 給開學初的你和學弟學妹們的學習建議

      • 如果重新學習這門課,怎么做才可以學的更好
      • 下學期有什么可行的計划提升學習效果?
    • 問卷調查

      • 你平均每周投入到本課程有效學習時間有多少?
      • 每周的學習效率有提高嗎?你是怎么衡量的?
      • 藍墨雲班課的使用對你的學習有促進嗎?有什么建議和意見嗎?
      • 你覺得這門課老師應該繼續做哪一件事情?
      • 你覺得這門課老師應該停止做哪一件事情?
      • 你覺得這門課老師應該開始做什么新的事情?
    • 對[謝濤老師]https://home.cnblogs.com/u/vertextao/)的工作給矛評價或建議

    • 其他任意發揮

    • 給出你的總結中涉及到的鏈接的二維碼

返回目錄

個人項目

四則運算

詞頻統計

  • 收集近二十年CET-4(or CET-6)的試題
  • 統計最常用的1000詞匯
  • 調用詞典API制作電子書

其他

返回目錄

團隊項目

基本要求

  • 單元測試要不少於產品代碼的行數
  • git 提交在函數級別上
  • 對系統進行UML建模
  • 團隊合作要有代碼規范,風格要一致

逆向Android項目

要求:

  • 至少兩人一個團隊(總分25*人數)

移動學習之網站(做的好有開發費用支持)

移動學習之Android App(做的好有開發費用支持)

博客園客戶端

返回目錄

課程學習資源

教材與參考資料

Java API

MOOC & 視頻

其他

返回目錄


歡迎關注“rocedu”微信公眾號(手機上長按二維碼)

做中教,做中學,實踐中共同進步!

rocedu



如果你覺得本文對你有幫助,請點一下左下角的“好文要頂”和“收藏該文



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM