2017-2018-1學期《程序設計與數據結構》教學進程
目錄
考覈方式
參考「《程序設計與數據結構》 課程教學」中的考覈方式。php
返回目錄
html
課前準備
課程基礎
![](http://static.javashuo.com/static/loading.gif)
教學進程
學習方法
進度很重要:注意前緊後鬆,必須跟上每週的進度,教材閱讀與總結,教材上的練習,問答小組,項目。我和助教們會認真對待每一位同窗,請你不要由於困難而放棄,堅持下來,會發現本身的難以想象。編程
問答很重要:遇到知識難點請多多提問,這是你的權利更是您對本身負責的義務。問答到課程討論小組,提問請閱讀一下「如何提問」,答疑注意事項.
實踐很重要:解決書中習題,實踐教材中實例,完成我的和團隊項目,纔算真的消化了課程內容。能夠經過實驗樓的課程配套環境或本身安裝的虛擬機在實踐中進行學習.實踐時參考「積極主動敲代碼,使用Junit學習Java程序設計」。
學習總結、實驗報告很重要:總結學習與實踐中的問題,獲得老師和同窗們的反饋,是進步的捷徑。學習完成後在博客園中把學習過程經過博客(隨筆)發表,博客標題「學號 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](http://static.javashuo.com/static/loading.gif)
返回目錄
第0周學習指導
學習目標
- 瞭解課程上課方式
- 作好心理預期
學習資源
- 現代軟件工程講義 0 課程概述
- 師生關係:trainer/trainee
- 負擔與壓力:如今辛苦是由於欠賬,如今的努力能夠發現本身的難以想象
- 現代軟件工程 習而學的軟件工程教育:
- 編程也同樣
- 學習科學日益主流的觀念:從「情景學習」出發,當一名「認知學徒」,它的要點有:
- 找到學習共同體:由於大量知識存在於學習共同體的實踐中,不是書本中,因此有效的學習不是關門苦練,而是找到屬於本身的學習小團體。如程序員在相似於github這樣的網站練習編程。
- 隱性知識顯性化:隱性知識是令人們有能力利用概念、事實以及程序來解決現實問題的知識。
- 模仿榜樣:榜樣能夠是現實生活中的導師,也能夠是網上的導師;
- 培養多樣性:在多種情境中實踐,以此強調學習廣闊的應用範圍。如裁縫出師並非已經練習了一萬小時,而是可以縫製出足夠好的,各類各樣的衣服。
現代軟件工程講義 1 軟件工程概論: 程序和軟件的不一樣
爲何必定要自學?:善於自學的人,最終會造成一個重要的能力:融會貫通。
作中學:實踐,刻意練習
技能的反面 - 魔方和模仿: 經過不斷的練習, 把那些低層次的問題都解決了, 變成不用通過大腦的自動操做, 而後纔有時間和腦力來解決較高層次的問題。
![](http://static.javashuo.com/static/loading.gif)
軟件開發不是閉卷考試: 對問題的瞭解,對技術的瞭解,估計任務的能力, 溝通和管理風險的能力,拒絕的能力
編程的智慧:反覆推敲代碼,寫優雅的代碼,寫模塊化的代碼,寫可讀的代碼,寫簡單的代碼,寫直觀的代碼,寫無懈可擊的代碼,正確處理錯誤,防止過分工程,
學習任務
返回目錄
第一週(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)
學習目標
返回目錄
第五週(10.2 - 10.8)
學習目標
- 掌握Java Collections API的基本結構
- 理解Collection的抽象設計
- 掌握Collection實現的Java相關技術:繼承/多態/泛型/接口
- 掌握棧的應用
- 掌握棧的實現(數組,鏈式)
- 分析Java Stack API
學習資源
- 教材:學習指導在這,重點內容,考試內容都有
- 閱讀 「反做弊」:任什麼時候候發現同窗們有抄襲做業,抄襲代碼的狀況,即時課程總成績清零
- 雲班課PPT
學習任務
- 教材第十四章
- 參考上面的學習總結模板,把學習過程經過博客(隨筆)發表,博客標題「學號 《程序設計與數據結構》第五週學習總結」
- 提升學習效率,提升寫博客效率:儘可能少摘抄書上的內容,主要寫有疑惑和有收穫的內容
- 截止時間:本週日 24:00,不按時發博客要扣1分,優秀博客加1分
- 不按上面的模板寫的要重寫,不然會扣1分
- 嚴禁抄襲,違反者總成績清零
返回目錄
第六週(10.09 - 10.15)
學習目標
- 理解queue抽象數據類型
- 會用queue解決問題
- 掌握queue的實現(數組,鏈表)
- 分析Java Collections API中queue相關的類
學習資源
- 教材:學習指導在這,重點內容,考試內容都有
- 閱讀 「反做弊」:任什麼時候候發現同窗們有抄襲做業,抄襲代碼的狀況,即時課程總成績清零
- 雲班課PPT
學習任務
- 教材第十五章
- 參考上面的學習總結模板,把學習過程經過博客(隨筆)發表,博客標題「學號 《程序設計與數據結構》第六週學習總結」
- 提升學習效率,提升寫博客效率:儘可能少摘抄書上的內容,主要寫有疑惑和有收穫的內容
- 截止時間:本週日 24:00,不按時發博客要扣1分,優秀博客加1分
- 不按上面的模板寫的要重寫,不然會扣1分
- 嚴禁抄襲,違反者總成績清零
返回目錄
第七週(10.16 - 10.22)
學習目標
- 理解樹抽象數據類型
- 會用樹解決問題
- 掌握樹的遍歷方法
- 掌握二叉樹的實現(數組,鏈表)
- 會用二叉樹表示決策樹
- 分析Java Collections API中樹相關的類
學習資源
- 教材:學習指導在這,重點內容,考試內容都有
- 閱讀 「反做弊」:任什麼時候候發現同窗們有抄襲做業,抄襲代碼的狀況,即時課程總成績清零
- 雲班課PPT
學習任務
- 教材第十六章
- 參考上面的學習總結模板,把學習過程經過博客(隨筆)發表,博客標題「學號 《程序設計與數據結構》第七週學習總結」
- 提升學習效率,提升寫博客效率:儘可能少摘抄書上的內容,主要寫有疑惑和有收穫的內容
- 截止時間:本週日 24:00,不按時發博客要扣1分,優秀博客加1分
- 不按上面的模板寫的要重寫,不然會扣1分
- 嚴禁抄襲,違反者總成績清零
返回目錄
第八週(10.23 - 10.29)
學習目標
- 理解二㕚查找樹
- 掌握二叉查找樹的實現
- 掌握二叉查找樹的應用
- 理解平衡二㕚樹
- 分析Java Collections API中樹相關的類
學習資源
- 教材:學習指導在這,重點內容,考試內容都有
- 閱讀 「反做弊」:任什麼時候候發現同窗們有抄襲做業,抄襲代碼的狀況,即時課程總成績清零
- 雲班課PPT
學習任務
- 教材第十七章
- 參考上面的學習總結模板,把學習過程經過博客(隨筆)發表,博客標題「學號 《程序設計與數據結構》第八週學習總結」
- 提升學習效率,提升寫博客效率:儘可能少摘抄書上的內容,主要寫有疑惑和有收穫的內容
- 截止時間:本週日 24:00,不按時發博客要扣1分,優秀博客加1分
- 不按上面的模板寫的要重寫,不然會扣1分
- 嚴禁抄襲,違反者總成績清零
返回目錄
第九周(10.30 - 11.05)
學習目標
- 理解堆和優先隊列
- 理解堆和優先隊列的關係
- 掌握堆的實現
- 掌握堆排序的實現
- 分析Java Collections API中堆和相關的類
學習資源
- 教材:學習指導在這,重點內容,考試內容都有
- 閱讀 「反做弊」:任什麼時候候發現同窗們有抄襲做業,抄襲代碼的狀況,即時課程總成績清零
- 雲班課PPT
學習任務
- 教材第十八章
- 參考上面的學習總結模板,把學習過程經過博客(隨筆)發表,博客標題「學號 《程序設計與數據結構》第九周學習總結」
- 提升學習效率,提升寫博客效率:儘可能少摘抄書上的內容,主要寫有疑惑和有收穫的內容
- 截止時間:本週日 24:00,不按時發博客要扣1分,優秀博客加1分
- 不按上面的模板寫的要重寫,不然會扣1分
- 嚴禁抄襲,違反者總成績清零
返回目錄
第十週(11.06 - 11.12)
學習目標
- 理解圖與有向圖、無向圖
- 理解帶權圖
- 會應用帶權圖
- 理解圖的廣度優先遍歷和深度優先遍歷
- 掌握最小生成樹算法
- 掌握圖的實現
學習資源
- 教材:學習指導在這,重點內容,考試內容都有
- 閱讀 「反做弊」:任什麼時候候發現同窗們有抄襲做業,抄襲代碼的狀況,即時課程總成績清零
- 雲班課PPT
學習任務
- 教材第十九章
- 參考上面的學習總結模板,把學習過程經過博客(隨筆)發表,博客標題「學號 《程序設計與數據結構》第十週學習總結」
- 完成課上內容的選作
- 提升學習效率,提升寫博客效率:儘可能少摘抄書上的內容,主要寫有疑惑和有收穫的內容
- 截止時間:本週日 24:00,不按時發博客要扣1分,優秀博客加1分
- 不按上面的模板寫的要重寫,不然會扣1分
- 嚴禁抄襲,違反者總成績清零
返回目錄
第十一週(11.13 - 11.19)
學習目標
- 掌握Hash 函數的實現
- 理解哈希表中的衝突問題
- 分析Java Collection API中的Hash 實現
學習資源
- 教材:學習指導在這,重點內容,考試內容都有
- 閱讀 「反做弊」:任什麼時候候發現同窗們有抄襲做業,抄襲代碼的狀況,即時課程總成績清零
- 雲班課PPT
學習任務
- 教材第十九章
- 參考上面的學習總結模板,把學習過程經過博客(隨筆)發表,博客標題「學號 《程序設計與數據結構》第十一週學習總結」
- 提升學習效率,提升寫博客效率:儘可能少摘抄書上的內容,主要寫有疑惑和有收穫的內容
- 截止時間:本週日 24:00,不按時發博客要扣1分,優秀博客加1分
- 不按上面的模板寫的要重寫,不然會扣1分
- 嚴禁抄襲,違反者總成績清零
返回目錄
第十二週(11.20 - 11.26)
學習目標
學習資源
學習任務
返回目錄
第十三週(11.27 - 12.3)
學習目標
學習資源
學習任務
返回目錄
第十四周(12.04-12.10)
學習目標
學習資源
學習任務
返回目錄
第十五週(12.11 - 12.17)
學習目標
學習資源
學習任務
後續學習預告
返回目錄
第十六週(12.18 - 12.24)
學習目標
學習資源
課程總結要求
- 課程總結:這個總結寫的好的會被選出來出成一本博客書,你們認真寫一下,被選中的會送你一本。
- 文中的連接都要配上二維碼,可使用草料二維碼工具或博客園的功能,點擊本身每篇文章的最下面的微信圖標就有二維碼:
![](http://static.javashuo.com/static/loading.gif)
發表一篇博客
返回目錄
我的項目
四則運算
詞頻統計
- 收集近二十年CET-4(or CET-6)的試題
- 統計最經常使用的1000詞彙
- 調用詞典API製做電子書
其餘
返回目錄
團隊項目
基本要求
- 單元測試要很多於產品代碼的行數
- git 提交在函數級別上
- 對系統進行UML建模
團隊合做要有代碼規範,風格要一致
逆向Android項目
要求:
移動學習之網站(作的好有開發費用支持)
移動學習之Android App(作的好有開發費用支持)
博客園客戶端
返回目錄
課程學習資源
教材與參考資料
Java API
MOOC & 視頻
其餘
返回目錄
歡迎關注「rocedu」微信公衆號(手機上長按二維碼)
作中教,作中學,實踐中共同進步!
![rocedu](http://static.javashuo.com/static/loading.gif)
若是你以爲本文對你有幫助,請點一下左下角的「好文要頂」和「收藏該文」