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

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

目錄

考覈方式

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

返回目錄
html

課前準備

課程基礎

預備做業

  • 預備做業01:你指望的師生關係是什麼?: 讓同窗們瞭解「Trainer/Trainee」是最好的師生關係,讓同窗們對即將到來的翻轉課堂有個心理準備,讓同窗們對即將到來學習任務,學習壓力有個心理準備,反作用是讓同窗們學會了Markdown。編程

  • 預備做業02 : 體會作中學(Learning By Doing):讓同窗們瞭解「作中學(Learing By Doing)」的學習方法與刻意訓練在技能獲取中的重要性,進一步理解有學習壓力的必要性,反作用是讓同窗們展現本身,老師瞭解學生,同窗們之間加深交流了解。

  • 預備做業03:課程基礎:利用搜商,打下課程的Linux基礎,初步體會什麼叫學習上的觸類旁通,融會貫通。老師教十個你會六個就及格了?不,應該是老師教十個,你會一百個乃至更多,至少具有這樣的潛能。

返回目錄

教學進程

學習方法

  1. 進度很重要:注意前緊後鬆,必須跟上每週的進度,教材閱讀與總結,教材上的練習,問答小組,項目。我和助教們會認真對待每一位同窗,請你不要由於困難而放棄,堅持下來,會發現本身的難以想象。

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

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

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

總結模板(Markdown)以下:

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

## 教材學習內容總結

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

## 教材學習中的問題和解決過程
- 問題1:XXXXXX
- 問題1解決方案:XXXXXX
- 問題2:XXXXXX
- 問題2解決方案:XXXXXX
- ...

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

## [代碼託管](碼雲學習項目連接)

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

## 上週考試錯題總結
- 錯題1及緣由,理解狀況
- 錯題2及緣由,理解狀況
- ... 

## 結對及互評

### 評分標準

1. 正確使用Markdown語法(加1分):
    - 不使用Markdown不加分
    - 有語法錯誤的不加分(連接打不開,表格不對,列表不正確...)
    - 排版混亂的不加分
2. 模板中的要素齊全(加1分)
    - 缺乏「教材學習中的問題和解決過程」的不加分
    - 缺乏「代碼調試中的問題和解決過程」的不加分
    - [代碼託管](連接)不能打開的不加分
    - 缺乏「結對及互評」的不能打開的不加分
    - 缺乏「上週考試錯題總結」的不能加分
    - 缺乏「進度條」的不能加分
    - 缺乏「參考資料」的不能加分

3. 教材學習中的問題和解決過程, 一個問題加1分

4. 代碼調試中的問題和解決過程, 一個問題加1分

5. 本週有效代碼超過300分行的(加2分)
    - 一週提交次數少於20次的不加分
    
6. 其餘加分:
    - 週五前發博客的加1分
    - 感想,體會不假大空的加1分
    - 排版精美的加一分
    - 進度條中記錄學習時間與改進狀況的加1分
    - 有動手寫新代碼的加1分
    - 課後選擇題有驗證的加1分
    - 代碼Commit Message規範的加1分
    - 錯題學習深刻的加1分
    - 點評認真,能指出博客和代碼中的問題的加1分
    - 結對學習狀況真實可信的加1分
    
7. 扣分:
    - 有抄襲的扣至0分
    - 代碼做弊的扣至0分
    - 遲交做業的扣至0分

### 點評模板:
- 博客中值得學習的或問題:
    - xxx
    - xxx
    - ...
- 代碼中值得學習的或問題:
    - xxx
    - xxx
    - ...
- 基於評分標準,我給本博客打分:XX分。得分狀況以下:xxx

- [參考示例](http://www.cnblogs.com/haoliberale/p/6580822.html#3650972) 

### 點評過的同窗博客和代碼
- 本週結對學習狀況 
    - [結對同窗學號1](博客連接)
    - 結對照片
    - 結對學習內容
        - XXXX
        - XXXX
        - ...
- 上週博客互評狀況
    - [學號1](博客連接)
    - [學號2](博客連接)
    - [學號3](博客連接)
    - [學號4](博客連接)
    - ...
    
## 其餘(感悟、思考等,可選)

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. 編程的智慧:反覆推敲代碼,寫優雅的代碼,寫模塊化的代碼,寫可讀的代碼,寫簡單的代碼,寫直觀的代碼,寫無懈可擊的代碼,正確處理錯誤,防止過分工程,

學習任務

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

返回目錄

第一週(2.27-3.05)

學習目標

  • 瞭解Java程序設計語言
  • 掌握Java程序編輯/編譯/運行/調試的方法
  • 瞭解程序開發過程和
  • 瞭解面向對象三要素
  • 瞭解解決問題的通常方法

學習資源

學習任務

  • 教材第一章
  • 參考上面的學習總結模板,把學習過程經過博客(隨筆)發表,博客標題「學號 《程序設計與數據結構》第一週學習總結
    • 提升學習效率,提升寫博客效率:儘可能少摘抄書上的內容,主要寫有疑惑和有收穫的內容
    • 截止時間:本週日 24:00,不按時發博客要扣1分,優秀博客加1分
    • 不按上面的模板寫的要重寫,不然會扣1分
    • 嚴禁抄襲,違反者列入立此存照-抄襲做業者的曝光臺

返回目錄

第二週(3.06-3.12)

學習目標

  • 掌握Java字符串
  • 理解變量並會使用
  • 掌握Java基本數據類型
  • 掌握表達式
  • 會用Scanner類進行輸入

學習資源

學習任務

  • 教材第二章
    • 編輯、編譯、運行教材上代碼,參考「積極主動敲代碼,使用Junit學習Java程序設計
    • 代碼中不懂的內容仔細閱讀教材,參考Java API幫助文檔
    • 代碼託管到git@OSC,
    • 完成課後自測題,並參考答案學習
    • 完成課後練習題
    • 完成程序設計項目:至少完成PP2.2, PP2.4, PP2.6, PP2.08, PP2.10
    • 有問題去答疑論壇提問,不在微信羣和QQ羣解答學習問題
    • 課堂考試題目和參考答案在這,每週考覈答案,考完覈對一下,找出本身作錯的題目修正並學習相關知識點,學習成果要在學習博客中體現。重點內容以及錯的多的知識點會屢次考覈
    • 常來這看看本身的成績,每週更新,排名靠後的,不及格的要努力了,第四周起會對排名靠後的同窗增強知道和要求
  • 參考上面的學習總結模板,把學習過程經過博客(隨筆)發表,博客標題「學號 《程序設計與數據結構》第二週學習總結
    • 提升學習效率,提升寫博客效率:儘可能少摘抄書上的內容,主要寫有疑惑和有收穫的內容
    • 截止時間:本週日 24:00,不按時發博客並提交要扣1分,優秀博客加1分
    • 不按上面的模板寫的要重寫,不然會扣1分
    • 嚴禁抄襲,違反者列入立此存照-抄襲做業者的曝光臺

返回目錄

第三週(3.13-3.19)

學習目標

  • 理解並掌握對象建立
  • 掌握String類的使用
  • 理解包與代碼組織
  • 會用常見的類如:Math,Random,NumberFormat,DecimalFormat
  • 會用包裝類

學習資源

學習任務

  • 教材第三章
  • 參考上面的學習總結模板,把學習過程經過博客(隨筆)發表,博客標題「學號 《程序設計與數據結構》第三週學習總結
    • 提升學習效率,提升寫博客效率:儘可能少摘抄書上的內容,主要寫有疑惑和有收穫的內容
    • 截止時間:本週日 24:00,不按時發博客並提交要扣1分,優秀博客加1分
    • 不按上面的模板寫的要重寫,不然會扣1分
    • 嚴禁抄襲,違反者列入立此存照-抄襲做業者的曝光臺
  • 參考實驗一 Java開發環境的熟悉(Linux + Eclipse)Intellj IDEA 簡易教程
    完成實驗一
    • Eclipse 內容換成IDEA
    • 練習(經過命令行和IDEA兩種方式實現)換成前兩週項目內容
    • 週五實驗課上進行驗收:PP1.1,PP1.2,PP2.2, PP2.4, PP2.6, PP2.08, PP2.10
    • 下週日 24:00前發表博客,標題「學號 實驗一《Java開發環境的熟悉》實驗報告

返回目錄

第四周(3.20 - 3.26)

學習目標

  • 理解流程控制
  • 理解並應用布爾運算
  • 掌握分支語句的編寫:if...else;switch...case
  • 掌握循環語句的編寫:while;do...while;for
  • 理解並應用數組

學習資源

學習任務

  • 教材第4章,第7章
  • 參考上面的學習總結模板,把學習過程經過博客(隨筆)發表,博客標題「學號 《程序設計與數據結構》第四周學習總結
    • 提升學習效率,提升寫博客效率:儘可能少摘抄書上的內容,主要寫有疑惑和有收穫的內容
    • 截止時間:本週日 24:00,不按時發博客並提交要扣1分,優秀博客加1分
    • 不按上面的模板寫的要重寫,不然會扣1分
    • 嚴禁抄襲,違反者列入立此存照-抄襲做業者的曝光臺

返回目錄

第五週(3.27 - 4.02)

學習目標

  • 理解類與對象
  • 會自定義類
  • 理解方法的做用
  • 瞭解方法設計的問題
  • 會用UML建模工具
  • 熟悉Java Collection API

學習資源

學習任務

  • 視頻:學習雲班課中的相關視頻
    • 視本身的狀況與教材學習二選一或都選
  • 教材第5章
  • 參考上面的學習總結模板,把學習過程經過博客(隨筆)發表,博客標題「學號 《程序設計與數據結構》第五週學習總結
    • 提升學習效率,提升寫博客效率:儘可能少摘抄書上的內容,主要寫有疑惑和有收穫的內容
    • 截止時間:本週日 24:00,不按時發博客並提交要扣1分,優秀博客加1分
    • 不按上面的模板寫的要重寫,不然會扣1分
    • 嚴禁抄襲,違反者列入立此存照-抄襲做業者的曝光臺

返回目錄

第六週(4.03 - 4.09)

學習目標

  • 理解繼承和代碼複用
  • 理解抽象類
  • 理解方法重載
  • 會用UML建模工具
  • 熟悉Java多線程API

學習資源

學習任務

  • 視頻:學習雲班課中的相關視頻
    • 視本身的狀況與教材學習二選一或都選
  • 教材第8章
  • 參考上面的學習總結模板,把學習過程經過博客(隨筆)發表,博客標題「學號 《程序設計與數據結構》第六週學習總結
    • 提升學習效率,提升寫博客效率:儘可能少摘抄書上的內容,主要寫有疑惑和有收穫的內容
    • 截止時間:本週日 24:00,不按時發博客並提交要扣1分,優秀博客加1分
    • 不按上面的模板寫的要重寫,不然會扣1分
    • 嚴禁抄襲,違反者列入立此存照-抄襲做業者的曝光臺

返回目錄

第七週(4.10 - 4.16)

學習目標

  • 理解多態
  • 掌握抽象類和接口使用
  • 理解方法覆蓋和動態綁定
  • 會用UML建模工具
  • 熟悉Java與密碼學相關的API

學習資源

學習任務

  • 視頻:學習雲班課中的相關視頻
    • 視本身的狀況與教材學習二選一或都選
  • 教材第9章
  • 參考上面的學習總結模板,把學習過程經過博客(隨筆)發表,博客標題「學號 《程序設計與數據結構》第七週學習總結
    • 提升學習效率,提升寫博客效率:儘可能少摘抄書上的內容,主要寫有疑惑和有收穫的內容
    • 截止時間:本週日 24:00,不按時發博客並提交要扣1分,優秀博客加1分
    • 不按上面的模板寫的要重寫,不然會扣1分
    • 嚴禁抄襲,違反者列入立此存照-抄襲做業者的曝光臺
  • 把Eclipse 換成IDEA,參考實驗二 Java面向對象程序設計 完成實驗並在本週日 24:00前發實驗報告博客

返回目錄

第八週(4.17 - 4.23)

學習目標

  • 熟悉異常繼承體系
  • 掌握異常處理
  • 理解方法覆蓋和動態綁定
  • 會用UML建模工具
  • 熟悉Java IO API

學習資源

學習任務

  • 視頻:學習雲班課中的相關視頻
    • 視本身的狀況與教材學習二選一或都選
  • Java和Android開發學習指南(第二版)(EPUBIT,Java for Android 2nd)第十六章

  • 教材第10章
  • 參考上面的學習總結模板,把學習過程經過博客(隨筆)發表,博客標題「學號 《程序設計與數據結構》第八週學習總結
    • 提升學習效率,提升寫博客效率:儘可能少摘抄書上的內容,主要寫有疑惑和有收穫的內容
    • 截止時間:本週日 24:00,不按時發博客並提交要扣1分,優秀博客加1分
    • 不按上面的模板寫的要重寫,不然會扣1分
    • 嚴禁抄襲,違反者列入立此存照-抄襲做業者的曝光臺

第九周(4.24 - 4.30)

學習目標

  • 瞭解數據庫相關基本概念
  • 會用常見的SQL語句
  • 初步掌握MySQL的使用
  • 瞭解SQLite的使用
  • 熟悉Java 網絡編程的API

學習資源

學習任務

  • 視頻:學習雲班課中的相關視頻
    • 視本身的狀況與教材學習二選一或都選
  • Java和Android開發學習指南(第二版)(EPUBIT,Java for Android 2nd)第22章

  • 教材第21章
  • 參考上面的學習總結模板,把學習過程經過博客(隨筆)發表,博客標題「學號 《程序設計與數據結構》第九周學習總結
    • 提升學習效率,提升寫博客效率:儘可能少摘抄書上的內容,主要寫有疑惑和有收穫的內容
    • 截止時間:本週日 24:00,不按時發博客並提交要扣1分,優秀博客加1分
    • 不按上面的模板寫的要重寫,不然會扣1分
    • 嚴禁抄襲,違反者列入立此存照-抄襲做業者的曝光臺

返回目錄

第十週(5.01 - 5.07)

學習目標

  • 瞭解Android開發的通常流程
  • 瞭解Android
  • 初步掌握MySQL的使用
  • 瞭解SQLite的使用
  • 熟悉Java 密碼學相關的API
  • 瞭解混合密碼系統

學習資源

學習任務

返回目錄

第十一週(5.08 - 5.14)

學習任務

返回目錄

第十二週(5.15 - 5.21)

學習任務

  • 團隊項目
    • 在本週日(5.22) 24:00前發博客介紹項目進展、成員貢獻、與計劃相符狀況、改進措施等

返回目錄

第十三週(5.22 - 5.28)

學習目標

學習資源

學習任務

返回目錄

第十四周()

學習目標

學習資源

學習任務

返回目錄

第十五週(5.29 - 6.04)

學習目標

學習資源

學習任務

後續學習預告

返回目錄

第十六週(6.05 - 6.11)

學習目標

學習資源

課程總結要求

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

發表一篇博客

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

    • (按順序)每週做業連接彙總

    • 自認爲寫得最好一篇博客是?爲何?
    • 做業中閱讀量最高的一篇博客是?談談經驗
    • 做業中與師生交互最多的一篇博客是?談談收穫

    • (按順序)實驗報告連接彙總

    • 代碼託管連接:
      • 給出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



若是你以爲本文對你有幫助,請點一下左下角的「好文要頂」和「收藏該文

相關文章
相關標籤/搜索