2015-2016-2 《Java程序設計》教學進程
目錄
考核方式
參考「《Java程序設計》 課程教學」中的考核方式。
寒假准備
課程基礎
- 閱讀「使用博客園進行學習」,並建立個人技術博客
- 加入「課程答疑小組」,提問前請閱讀「如何提問」.
- 閱讀「使用開源中國托管代碼」並完成作業
- 在實驗樓注冊賬號(注意體現學號信息),然后點擊配套實驗課程進入實驗樓實驗環境,點擊『加入私有課程』,《Java程序設計》的課程碼:
DLUH8XBH
,個人信息
填“學號+姓名”。 - 注冊極客學院,學習Java相關視頻。
- 教材學習導讀: 《Java學習筆記(第8版)》學習指導
學習實驗樓實踐教程:
- Linux基礎入門,本學期有考核要求
- Vim編輯器,學有余力者學習,下學期考核
- 高級Bash腳本編程指南,學有余力者學習,下學期考核
問卷調查
2016年2月28日晚12點前,發一篇博客(隨筆)包含以下內容:
- 你對自己的未來有什么規划?做了哪些准備?
- 你認為什么是學習?學習有什么用?現在學習動力如何?為什么?
- 你認為專業課學習和公務員考試是哪個重要還是同等重要還是其他想法?為什么?
- 你感覺自己什么事情做的比較成功?有什么經驗?
- 你怎么看待《Java程序設計》這門課?學習這門功課你對自己有什么期望?
- 參考2015-2016-1 《信息安全系統設計基礎》課程總結,學習《Java程序設計》你對老師有什么期望?你准備怎么學習《Java程序設計》?
- 你是怎么學習C語言的?(作業,實驗,教材,其他),目前為止估算自己寫過多少行代碼?
- C語言的學習有什么經驗和教訓?
- 除了應付考試和實驗,編程在什么地方幫到過你?
- 學了C語言,你分的清數組指針,指針數組;函數指針,指針函數這些概念嗎?
- 學了C語言,你明白文件和流的區別和聯系嗎?如何區分文本文件和二進制文件?如何編程操作這兩種文件?
- 學了C語言,你知道什么叫面向過程嗎?它解決問題的方法是什么?
- 在C語言里面,什么是模塊?你寫過多個源文件的程序嗎?
- 學了C語言,你知道什么是“高內聚,低耦合”嗎?這個原則如何應用到高質量程序設計中?
- 學了C語言,你如何把數組A的內容復制到數組B中?如何查找整數數組A中有沒有5?如何對整數數組A進行排序(從小到大,從大到小)?寫出相應的程序。
- 你知道什么是斷點嗎?給出自己調試程序的例子。
- 畢業后大多數人從事的工作的要求是“提筆能寫,開口能說,問策能對,遇事能辦”,非常重要的技能是公文寫作能力,你覺得自己寫作能力如何?
注意:
- 調查的目的不是考你,而是為我備課做准備,回答不要有壓力,但態度很重要
- 調查計入加分,不要抄襲,不用可以學習相關內容,不會的可以如實說不會
- 太多回答不會的,我會單獨找你聊天了解情況,幫你學的更好
教學進程
學習方法
- 進度很重要:注意前緊后松,必須跟上每周的進度,教材閱讀與總結,教材上的練習,問答小組,項目。我和助教們會認真對待每一位同學,請你不要因為困難而放棄,堅持下來,會發現自己的不可思議。
- 問答很重要:遇到知識難點請多多提問,這是你的權利更是您對自己負責的義務。問答到課程討論小組
- 實踐很重要:解決書中習題,實踐教材中實例,完成個人和團隊項目,才算真的消化了課程內容。可以通過實驗樓的課程配套環境或自己安裝的虛擬機在實踐中進行學習。 實踐中的代碼請參考「積極主動敲代碼,使用Junit學習Java程序設計」。
- 學習總結、實驗報告很重要:總結學習與實踐中的問題,得到老師和同學們的反饋,是進步的捷徑。學習完成后在博客園中把學習過程通過博客(隨筆)發表,博客標題“學號《Java程序設計》第x周學習總結”
總結模板(Markdown)如下:
# 學號 《Java程序設計》第X周學習總結
## 教材學習內容總結
(1000字以內總結一下本周學習內容,盡量不要抄書)
## 教材學習中的問題和解決過程
xxx
xxx
## 代碼調試中的問題和解決過程
xxx
xxx
## 本周代碼托管截圖
## 其他(感悟、思考等,可選)
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 | |
## 參考資料
- [Java學習筆記(第8版)](http://book.douban.com/subject/26371167/)
- [《Java學習筆記(第8版)》學習指導](http://www.cnblogs.com/rocedu/p/5182332.html)
- ...
上面模板中用Markdown寫的總結的渲染效果如下:
第0周學習指導
學習目標
- 了解課程上課方式
- 做好心理預期
學習資源
-
- 師生關系:trainer/trainee
- 負擔與壓力:現在辛苦是因為欠帳,現在的努力可以發現自己的不可思議
-
- 編程也一樣
- 學習科學日益主流的觀念:從「情景學習」出發,當一名「認知學徒」,它的要點有:
- 找到學習共同體:因為大量知識存在於學習共同體的實踐中,不是書本中,所以有效的學習不是關門苦練,而是找到屬於自己的學習小團體。如程序員在類似於github這樣的網站練習編程。
- 隱性知識顯性化:隱性知識是使人們有能力利用概念、事實以及程序來解決現實問題的知識。
- 模仿榜樣:榜樣可以是現實生活中的導師,也可以是網上的導師;
- 培養多樣性:在多種情境中實踐,以此強調學習廣闊的應用范圍。如裁縫出師並不是已經練習了一萬小時,而是能夠縫制出足夠好的,各種各樣的衣服。
-
現代軟件工程講義 1 軟件工程概論: 程序和軟件的不同
-
為什么一定要自學?:善於自學的人,最終會形成一個重要的能力:融會貫通。
學習任務
- 閱讀以上博客,可以寫一篇閱讀心得發博客,相關內容納入課堂考試范圍
第一周學習指導(2.29-3.06)
學習目標
- 了解Java基礎知識
- 了解JVM、JRE與JDK,並下載、安裝、測試JDK
- 了解PATH、CLASSPATH、SOURCEPATH的作用並會設置
- 初步使用IDE(推薦IDEA),會編譯、運行、調試簡單的Java程序
學習資源
- 教材:學習指導在這,重點內容,考試內容都有
- 視頻:下載地址 密碼:nws1
- Java程序設計的DOS命令基礎
學習任務
- 教材第一章、第二章
- 參考上面的學習總結模板,把學習過程通過博客(隨筆)發表,博客標題“學號 《Java程序設計》第一周學習總結”
第二周(3.07-3.13)
學習目標
- 了解Java編程風格
- 認識Java的類型與變量
- 掌握Java流程控制的方法(分支、循環)
學習資源
學習任務
- 教材第三章
- 編輯、編譯、運行教材上代碼,參考「積極主動敲代碼,使用Junit學習Java程序設計」
- 代碼中不懂的內容仔細閱讀教材,參考Java API幫助文檔
- 代碼托管到git@OSC, 這樣老師和助教才能看到,參考一下使用開源中國托管代碼 和 Windows下安裝git & 在git@OSC上推送代碼
- 完成課后習題
- 有問題去答疑論壇提問,不在微信群和QQ群解答問題
- 課堂考試題目和參考答案在這,看看自己哪些題目答錯了,一定要弄明白了,重點內容以及錯的多的知識點會多次考核
- 常來這看看自己的成績,每周更新,排名靠后的,不及格的要努力了
- 參考上面的學習總結模板,把學習過程通過博客(隨筆)發表,博客標題“學號 《Java程序設計》第二周學習總結”
- 截止時間:本周日(3.13) 24:00,不按時發博客要扣1分,優秀博客加1分
第三周(3.14-3.20)
學習目標
- 區分基本類型與類類型
- 理解對象的生成與引用的關系
- 掌握String類和數組
- 理解封裝的概念
- 掌握構造方法的定義
- 理解重載的概念
- 掌握static的應用
學習資源
學習任務
- 教材第四章、第五章
- 編輯、編譯、運行教材上代碼,參考「積極主動敲代碼,使用Junit學習Java程序設計」
- 代碼中不懂的內容仔細閱讀教材,參考Java API幫助文檔
- 代碼托管到git@OSC, 這樣老師和助教才能看到,參考一下使用開源中國托管代碼 和 Windows下安裝git & 在git@OSC上推送代碼
- 完成課后習題
- 有問題去答疑論壇提問,不在微信群和QQ群解答問題
- 課堂考試題目和參考答案在這,看看自己哪些題目答錯了,一定要弄明白了,重點內容以及錯的多的知識點會多次考核
- 常來這看看自己的成績,每周更新,排名靠后的,不及格的要努力了
- 參考上面的學習總結模板,把學習過程通過博客(隨筆)發表,博客標題“學號 《Java程序設計》第三周學習總結”
- 截止時間:本周日(3.20) 24:00,不按時發博客要扣1分,優秀博客加1分
第四周(3.21-3.27)
學習目標
- 理解封裝、繼承、多態的關系
- 理解抽象類與接口的區別
- 掌握S.O.L.I.D原則
- 了解模式和設計模式
- 能正確覆蓋方法
- 了解垃圾回收機制
- 掌握Object類
- 掌握enum
學習資源
- 教材:學習指導在這,重點內容,考試內容都有
- 視頻:下載地址 密碼:nws1
- 實驗二 Java面向對象程序設計
學習任務
- 教材第六章、第七章
- 編輯、編譯、運行教材上代碼,參考「積極主動敲代碼,使用Junit學習Java程序設計」
- 代碼中不懂的內容仔細閱讀教材,參考Java API幫助文檔
- 代碼托管到git@OSC,這樣老師和助教才能看到,參考一下使用開源中國托管代碼 和 Windows下安裝git & 在git@OSC上推送代碼
- 完成課后習題
- 有問題去答疑論壇提問,不在微信群和QQ群解答問題
- 課堂考試題目和參考答案在這,看看自己哪些題目答錯了,一定要弄明白了,重點內容以及錯的多的知識點會多次考核
- 常來這看看自己的成績,每周更新,排名靠后的,不及格的要努力了
- 參考上面的學習總結模板,把學習過程通過博客(隨筆)發表,博客標題“學號 《Java程序設計》第四周學習總結”
- 截止時間:本周日(3.27) 24:00,不按時發博客要扣1分,優秀博客加1分
- 嚴禁抄襲,違反者列入立此存照-抄襲作業者的曝光台
第五周(3.28-4.03)
學習目標
- 理解異常架構
- 牚握try...catch...finally處理異常的方法
- 會用throw,throws
- 理解Collection和Map架構
- 會用常見的數據結構和算法
- 了解Lambada和泛型
學習資源
學習任務
- 教材第八章、第九章
- 編輯、編譯、運行教材上代碼,參考「積極主動敲代碼,使用Junit學習Java程序設計」
- 代碼中不懂的內容仔細閱讀教材,參考Java API幫助文檔
- 代碼托管到git@OSC,這樣老師和助教才能看到,參考一下使用開源中國托管代碼 和 Windows下安裝git & 在git@OSC上推送代碼
- 完成課后習題
- 有問題去答疑論壇提問,不在微信群和QQ群解答問題
- 課堂考試題目和參考答案在這,看看自己哪些題目答錯了,一定要弄明白了,重點內容以及錯的多的知識點會多次考核
- 常來這看看自己的成績,每周更新,排名靠后的,不及格的要努力了
- 參考上面的學習總結模板,把學習過程通過博客(隨筆)發表,博客標題“學號 《Java程序設計》第五周學習總結”
- 截止時間:本周日(4.03) 24:00,不按時發博客要扣1分,優秀博客加1分
- 嚴禁抄襲,違反者列入立此存照-抄襲作業者的曝光台
第六周(4.04-4.10)
學習目標
- 理解流與IO
- 理解InputStream/OutPutStream的繼承架構
- 理解Reader/Writer繼承架構
- 會使用裝飾類
- 會使用多線程進行並發程序設計
學習資源
學習任務
- 教材第十章、第十一章
- 編輯、編譯、運行教材上代碼,參考「積極主動敲代碼,使用Junit學習Java程序設計」
- 代碼中不懂的內容仔細閱讀教材,參考Java API幫助文檔
- 代碼托管到git@OSC,這樣老師和助教才能看到,參考一下使用開源中國托管代碼 和 Windows下安裝git & 在git@OSC上推送代碼
- 完成課后習題
- 有問題去答疑論壇提問,不在微信群和QQ群解答問題
- 課堂考試題目和參考答案在這,看看自己哪些題目答錯了,一定要弄明白了,重點內容以及錯的多的知識點會多次考核
- 常來這看看自己的成績,每周更新,排名靠后的,不及格的要努力了
- 參考上面的學習總結模板,把學習過程通過博客(隨筆)發表,博客標題“學號 《Java程序設計》第六周學習總結”
- 截止時間:本周日(4.10) 24:00,不按時發博客要扣1分,優秀博客加1分
- 嚴禁抄襲,違反者列入立此存照-抄襲作業者的曝光台
- 參考實驗一 Java開發環境的熟悉(Linux + Eclipse) 完成實驗並在本周日(4.10) 24:00前發實驗報告博客
第七周(4.11-4.17)
學習目標
- 了解Lambda語法
- 了解方法引用
- 了解Fucntional與Stream API
- 掌握Date與Calendar的應用
- 會使用JDK8新的時間API
學習資源
學習任務
-
教材第十二章、第十三章、
- 編輯、編譯、運行教材上代碼,參考「積極主動敲代碼,使用Junit學習Java程序設計」
- 代碼中不懂的內容仔細閱讀教材,參考Java API幫助文檔
- 代碼托管到git@OSC,這樣老師和助教才能看到,參考一下使用開源中國托管代碼 和 Windows下安裝git & 在git@OSC上推送代碼
- 完成課后習題
- 有問題去答疑論壇提問,不在微信群和QQ群解答問題
- 課堂考試題目和參考答案在這,看看自己哪些題目答錯了,一定要弄明白了,重點內容以及錯的多的知識點會多次考核
- 常來這看看自己的成績,每周更新,排名靠后的,不及格的要努力了
-
參考上面的學習總結模板,把學習過程通過博客(隨筆)發表,博客標題“學號 《Java程序設計》第七周學習總結”
- 截止時間:本周日(4.17) 24:00,不按時發博客要扣1分,優秀博客加1分
- 嚴禁抄襲,違反者列入立此存照-抄襲作業者的曝光台
-
參考實驗二 Java面向對象程序設計 完成實驗並在本周日(4.17) 24:00前發實驗報告博客
第八周(4.18-4.24)
學習目標
- 了解NIO
- 會使用Channel、Buffer與NIO2
- 會使用日志API、國際化
- 會使用正則表達式
- 了解JDK8增強功能
學習資源
學習任務
-
教材第十四章、第十五章
- 編輯、編譯、運行教材上代碼,參考「積極主動敲代碼,使用Junit學習Java程序設計」
- 代碼中不懂的內容仔細閱讀教材,參考Java API幫助文檔
- 代碼托管到git@OSC,這樣老師和助教才能看到,參考一下使用開源中國托管代碼 和 Windows下安裝git & 在git@OSC上推送代碼
- 完成課后習題
- 有問題去答疑論壇提問,不在微信群和QQ群解答問題
- 課堂考試題目和參考答案在這,看看自己哪些題目答錯了,一定要弄明白了,重點內容以及錯的多的知識點會多次考核
- 常來這看看自己的成績,每周更新,排名靠后的,不及格的要努力了
-
參考上面的學習總結模板,把學習過程通過博客(隨筆)發表,博客標題“學號 《Java程序設計》第八周學習總結”
- 截止時間:本周日(4.24) 24:00,不按時發博客要扣1分,優秀博客加1分
- 嚴禁抄襲,違反者列入立此存照-抄襲作業者的曝光台
-
參考實驗三 Java面向對象程序設計實驗三 敏捷開發與XP實踐 完成實驗並在本周日(4.24) 24:00前發實驗報告博客
第九周(4.25-5.01)
學習目標
- 了解JDBC架構
- 掌握JDBC架構
- 掌握反射與ClassLoader
- 了解自定義泛型和自定義枚舉
- 會使用標准注解
學習資源
- 教材:學習指導在這,重點內容,考試內容都有
- 視頻:下載地址 密碼:nws1
- 數據庫第一二三范式到底在說什么?
學習任務
-
教材第十六章、第十七章、第十八章
- 編輯、編譯、運行教材上代碼,參考「積極主動敲代碼,使用Junit學習Java程序設計」
- 代碼中不懂的內容仔細閱讀教材,參考Java API幫助文檔
- 代碼托管到git@OSC,這樣老師和助教才能看到,參考一下使用開源中國托管代碼 和 Windows下安裝git & 在git@OSC上推送代碼
- 完成課后習題
- 有問題去答疑論壇提問,不在微信群和QQ群解答問題
- 課堂考試題目和參考答案在這,看看自己哪些題目答錯了,一定要弄明白了,重點內容以及錯的多的知識點會多次考核
- 常來這看看自己的成績,每周更新,排名靠后的,不及格的要努力了
-
參考上面的學習總結模板,把學習過程通過博客(隨筆)發表,博客標題“學號 《Java程序設計》第九周學習總結”
- 截止時間:下周一(5.02) 24:00,不按時發博客要扣1分,優秀博客加1分
- 嚴禁抄襲,違反者列入立此存照-抄襲作業者的曝光台
-
參考實驗四 Andoid開發基礎 完成實驗並在下周一(5.02) 24:00前發實驗報告博客
- 基於Android Studio開發簡單的Android應用並部署測試;
- 了解Android組件、布局管理器的使用;
- 掌握Android中事件處理機制。
- AndroidStudio安裝
第十周(5.02-5.08)
學習目標
- 了解計算機網絡基礎
- 掌握Java Socket編程
學習資源
學習任務
-
完成學習資源中相關內容的學習
-
參考上面的學習總結模板,把學習過程通過博客(隨筆)發表,博客標題“學號 《Java程序設計》第十周學習總結”
- 截止時間:本周日(5.08) 24:00,不按時發博客要扣1分,優秀博客加1分
- 嚴禁抄襲,違反者列入立此存照-抄襲作業者的曝光台
-
參考實驗五 Java網絡編程 完成實驗並在本周日(5.08) 24:00前發實驗報告博客
第十一周(5.09-5.15)
學習任務
- 團隊項目
- 在團隊博客發表一篇隨筆介紹一下項目內容、目標、實現計划(以周為單位)、成員、分工等
- 給出項目托管鏈接,項目模板如下:
- src:源代碼
- test:測試代碼
- bin/out:可執行代碼
- docs:項目相關參考文獻、項目文檔、報告
- lib:項目依賴的jar庫文件
- dist: 打包部署
- README.md: 項目簡介
- ...
- 參考關於用戶需求的調查完成項目需求分析
- 參考現代軟件工程講義看看如何做項目
- 參考如何提出靠譜的項目建議 NABCD寫出團隊項目的NABCD。
- 參考以下工具構建項目原型:(更多工具參考程序開發與信息安全工具箱)
- 在本周日(5.15) 24:00前發博客
第十二周(5.16-5.22)
學習任務
- 團隊項目
- 在本周日(5.22) 24:00前發博客介紹項目進展、成員貢獻、與計划相符情況、改進措施等
第十三周(5.23-5.29)
學習目標
學習資源
學習任務
- 團隊項目
- 在本周日(5.29) 24:00前發博客介紹項目進展、成員貢獻、與計划相符情況、改進措施等
第十四周(5.30-6.05)
學習目標
學習資源
學習任務
- 團隊項目
- 在本周日(6.05) 24:00前發博客介紹項目進展、成員貢獻、與計划相符情況、改進措施等
第十五周(6.06-6.12)
學習目標
學習資源
學習任務
- 團隊項目
- 在本周日(6.12) 24:00前發博客介紹項目進展、成員貢獻、與計划相符情況、改進措施等
后續學習預告
第十六周(6.13-6.19)
學習目標
學習資源
學習任務
-
在本周日(6.19) 24:00前完成團隊項目總結和課程總結(兩篇博客,團隊總結發在團隊博客中,課程總結發在個人博客中)
-
團隊項目總結
- 項目實現情況
- 項目測試
- 項目實現中的問題與解決
- 項目展望與改進(供下一屆同學參考)
- 團隊成員貢獻與成績分配
- 其他
-
課程總結
個人項目
四則運算
- 參考現代軟件工程 第一章 【概論】練習與討論
- 參考口算伴我成長自動出題系統v2.9 進行改進
- 代碼量不低於1000行
詞頻統計
- 收集近二十年CET-4(or CET-6)的試題
- 統計最常用的1000詞匯
- 調用詞典API制作電子書
其他
團隊項目
基本要求
- 單元測試要不少於產品代碼的行數
- git 提交在函數級別上
- 對系統進行UML建模
- 團隊合作要有代碼規范,風格要一致
逆向Android項目
要求:
- 至少兩人一個團隊(總分25*人數)
移動學習之網站(做的好有開發費用支持)
移動學習之Android App(做的好有開發費用支持)
博客園客戶端
課程學習資源
教材與參考資料
- Java學習筆記(第8版)
- Effective java 中文版(jjhou,Effective java)
- 實現模式 (Implementation Patterns)
- Android編程權威指南( Android programming: the big nerd ranch guide)
- 程序設計實踐(The Practice of Programming)
- 構建之法(電子版)
- 圖解密碼技術
- Java 加密與解密的藝術 (Kindle)
- 程序員必讀書單 1.0
Java API
MOOC & 視頻
其他
歡迎關注“rocedu”微信公眾號(手機上長按二維碼)
做中教,做中學,實踐中共同進步!
-
版權聲明:自由轉載-非商用-非衍生-保持署名| Creative Commons BY-NC-ND 3.0
如果你覺得本文對你有幫助,請點一下左下角的“好文要頂”和“收藏該文”