2015-2016-2 《Java程序設計》教學進程


2015-2016-2 《Java程序設計》教學進程

目錄

考核方式

參考「《Java程序設計》 課程教學」中的考核方式。

返回目錄

寒假准備

課程基礎

學習實驗樓實踐教程:

問卷調查

2016年2月28日晚12點前,發一篇博客(隨筆)包含以下內容:

  1. 你對自己的未來有什么規划?做了哪些准備?
  2. 你認為什么是學習?學習有什么用?現在學習動力如何?為什么?
  3. 你認為專業課學習和公務員考試是哪個重要還是同等重要還是其他想法?為什么?
  4. 你感覺自己什么事情做的比較成功?有什么經驗?
  5. 你怎么看待《Java程序設計》這門課?學習這門功課你對自己有什么期望?
  6. 參考2015-2016-1 《信息安全系統設計基礎》課程總結,學習《Java程序設計》你對老師有什么期望?你准備怎么學習《Java程序設計》?
  7. 你是怎么學習C語言的?(作業,實驗,教材,其他),目前為止估算自己寫過多少行代碼?
  8. C語言的學習有什么經驗和教訓?
  9. 除了應付考試和實驗,編程在什么地方幫到過你?
  10. 學了C語言,你分的清數組指針,指針數組;函數指針,指針函數這些概念嗎?
  11. 學了C語言,你明白文件和流的區別和聯系嗎?如何區分文本文件和二進制文件?如何編程操作這兩種文件?
  12. 學了C語言,你知道什么叫面向過程嗎?它解決問題的方法是什么?
  13. 在C語言里面,什么是模塊?你寫過多個源文件的程序嗎?
  14. 學了C語言,你知道什么是“高內聚,低耦合”嗎?這個原則如何應用到高質量程序設計中?
  15. 學了C語言,你如何把數組A的內容復制到數組B中?如何查找整數數組A中有沒有5?如何對整數數組A進行排序(從小到大,從大到小)?寫出相應的程序。
  16. 你知道什么是斷點嗎?給出自己調試程序的例子。
  17. 畢業后大多數人從事的工作的要求是“提筆能寫,開口能說,問策能對,遇事能辦”,非常重要的技能是公文寫作能力,你覺得自己寫作能力如何?

注意:

  • 調查的目的不是考你,而是為我備課做准備,回答不要有壓力,但態度很重要
  • 調查計入加分,不要抄襲,不用可以學習相關內容,不會的可以如實說不會
  • 太多回答不會的,我會單獨找你聊天了解情況,幫你學的更好

返回目錄

教學進程

學習方法

  1. 進度很重要:注意前緊后松,必須跟上每周的進度,教材閱讀與總結,教材上的練習,問答小組,項目。我和助教們會認真對待每一位同學,請你不要因為困難而放棄,堅持下來,會發現自己的不可思議。
  2. 問答很重要:遇到知識難點請多多提問,這是你的權利更是您對自己負責的義務。問答到課程討論小組
  3. 實踐很重要:解決書中習題,實踐教材中實例,完成個人和團隊項目,才算真的消化了課程內容。可以通過實驗樓課程配套環境或自己安裝的虛擬機在實踐中進行學習。 實踐中的代碼請參考「積極主動敲代碼,使用Junit學習Java程序設計」。
  4. 學習總結、實驗報告很重要:總結學習與實踐中的問題,得到老師和同學們的反饋,是進步的捷徑。學習完成后在博客園中把學習過程通過博客(隨筆)發表,博客標題“學號《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寫的總結的渲染效果如下:

xr

返回目錄

第0周學習指導

學習目標

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

學習資源

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

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

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

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

學習任務

  • 閱讀以上博客,可以寫一篇閱讀心得發博客,相關內容納入課堂考試范圍

返回目錄

第一周學習指導(2.29-3.06)

學習目標

  • 了解Java基礎知識
  • 了解JVM、JRE與JDK,並下載、安裝、測試JDK
  • 了解PATH、CLASSPATH、SOURCEPATH的作用並會設置
  • 初步使用IDE(推薦IDEA),會編譯、運行、調試簡單的Java程序

學習資源

學習任務

  • 教材第一章、第二章
  • 參考上面的學習總結模板,把學習過程通過博客(隨筆)發表,博客標題“學號 《Java程序設計》第一周學習總結

返回目錄

第二周(3.07-3.13)

學習目標

  1. 了解Java編程風格
  2. 認識Java的類型與變量
  3. 掌握Java流程控制的方法(分支、循環)

學習資源

學習任務

返回目錄

第三周(3.14-3.20)

學習目標

  • 區分基本類型與類類型
  • 理解對象的生成與引用的關系
  • 掌握String類和數組
  • 理解封裝的概念
  • 掌握構造方法的定義
  • 理解重載的概念
  • 掌握static的應用

學習資源

學習任務

返回目錄

第四周(3.21-3.27)

學習目標

  • 理解封裝、繼承、多態的關系
  • 理解抽象類與接口的區別
  • 掌握S.O.L.I.D原則
  • 了解模式和設計模式
  • 能正確覆蓋方法
  • 了解垃圾回收機制
  • 掌握Object類
  • 掌握enum

學習資源

學習任務

返回目錄

第五周(3.28-4.03)

學習目標

  • 理解異常架構
  • 牚握try...catch...finally處理異常的方法
  • 會用throw,throws
  • 理解Collection和Map架構
  • 會用常見的數據結構和算法
  • 了解Lambada和泛型

學習資源

學習任務

返回目錄

第六周(4.04-4.10)

學習目標

  • 理解流與IO
  • 理解InputStream/OutPutStream的繼承架構
  • 理解Reader/Writer繼承架構
  • 會使用裝飾類
  • 會使用多線程進行並發程序設計

學習資源

學習任務

返回目錄

第七周(4.11-4.17)

學習目標

  • 了解Lambda語法
  • 了解方法引用
  • 了解Fucntional與Stream API
  • 掌握Date與Calendar的應用
  • 會使用JDK8新的時間API

學習資源

學習任務

返回目錄

第八周(4.18-4.24)

學習目標

  • 了解NIO
  • 會使用Channel、Buffer與NIO2
  • 會使用日志API、國際化
  • 會使用正則表達式
  • 了解JDK8增強功能

學習資源

學習任務

返回目錄

第九周(4.25-5.01)

學習目標

  • 了解JDBC架構
  • 掌握JDBC架構
  • 掌握反射與ClassLoader
  • 了解自定義泛型和自定義枚舉
  • 會使用標准注解

學習資源

學習任務

返回目錄

第十周(5.02-5.08)

學習目標

  • 了解計算機網絡基礎
  • 掌握Java Socket編程

學習資源

學習任務

  • 完成學習資源中相關內容的學習

  • 參考上面的學習總結模板,把學習過程通過博客(隨筆)發表,博客標題“學號 《Java程序設計》第十周學習總結

  • 參考實驗五 Java網絡編程 完成實驗並在本周日(5.08) 24:00前發實驗報告博客

返回目錄

第十一周(5.09-5.15)

學習任務

返回目錄

第十二周(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前完成團隊項目總結和課程總結(兩篇博客,團隊總結發在團隊博客中,課程總結發在個人博客中)

  • 團隊項目總結

    • 項目實現情況
    • 項目測試
    • 項目實現中的問題與解決
    • 項目展望與改進(供下一屆同學參考)
    • 團隊成員貢獻與成績分配
    • 其他
  • 課程總結

    • (按順序)每周讀書筆記鏈接匯總

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

    • 代碼托管鏈接:代碼量匯總

    • 項目鏈接(可無)

    • 課程收獲與不足

      • 自己的收獲
      • 自己需要改進的地方
      • 如果有結對,寫一下你提供的幫助或接受了什么幫助,並對老師提供參考建議
    • 給學弟學妹們的學習建議

      • 如果重新學習這門課,怎么做才可以學的更好?
    • 問卷調查

      • 你覺得這門課老師應該繼續做哪一件事情?
      • 你覺得這門課老師應該停止做哪一件事情?
      • 你覺得這門課老師應該開始做什么新的事情?
      • 其他

返回目錄

個人項目

四則運算

詞頻統計

  • 收集近二十年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