1. 程式人生 > >20172312 2017-2018-2《程序設計與數據結構》課程總結

20172312 2017-2018-2《程序設計與數據結構》課程總結

說明 二進制 了解 interact mar 節點刪除 階段 安裝 第五周作業

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

  • 預備作業1:對大一上學期進行總結,談談你對本專業的認識和期望,你期望的師生關系是什麽樣的,談一下從小到大對你幫助/影響最大的老師和原因。.我們課程要你兩學期實踐10000行代碼,你覺得這個負擔大嗎?
  • 預備作業2:你有什麽技能比大多人(超過班級90%以上)更好,針對這個技能的獲取你有什麽成功的經驗?與老師博客中的學習經驗有什麽共通之處?你對《程序設計與數據結構》的學習有什麽具體目標?如何通過“做中學”實現你的目標?
  • 預備作業3:安裝Linux操作系統,學習Linux命令。感想
  • 第一周作業:在教材中基本明白了計算機系統的運行方式,了解了對於高級語言是使用是掌握好編程的關鍵,掌握了一些Java的基本命令,學會了會編譯、運行、調試簡單的Java程序
  • 第二周作業:學會了一些字符量常量的表示、拼接的知識。轉義序列。了解了變量的知識,並學會了用final定義標識符為常量。了解了幾種基本數據類型。對於擴展和壓縮類型轉換有所了解。稍微熟悉了一些scanner相關知識
  • 第三周作業:學習到了創建string對象的方法和簡化語法以及使用length等方法。了解了import導入Java包中的概念。學會了使用random類以及math類。了解了numberformat類和decimalformat類的使用區別和方法。學會使用枚舉型enum編寫程序。簡單了解了自動裝箱的知識
  • 第四周作業:學習了第四章和第七章,第四章介紹了關於編寫類方面的一些問題,第七章學到了了面向對象軟件的設計方法和相關知識。
  • 第五周作業:學習了條件循環和判斷以及其他條件判斷和循環兩章內容。學習了條件語句中的if語句、if-else語句、switch語句。 學習了循環語句中的while語句、do語句、for語句。
  • 第六周作業:學習了如何聲明和使用數組。
  • 第七周作業:學習繼承是如何實現的,及類之間的關系,了解類的層次結構。
  • 第八周作業:學習了多態,Java實現多態性可以有利用接口和繼承兩種方法。
  • 第九周作業:學習了異常和遞歸這兩章,學習異常以及異常的處理方法和遞歸的實現。
  • 第十周作業:學習了集合相關知識。
  • 第十一周作業:學習《Java和Anroid開發學習指導》,使用Android Studio編寫安卓程序

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

第七周,大概是我很少見的能在問題出現的時候就截圖吧。

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

實驗一,因為當時我是第一個寫完實驗一博客的……

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

  • 實驗一:學習IDEA的安裝和使用。
  • 實驗二:學習使用JUnit,初步掌握單元測試和TDD,理解並掌握面向對象三要素:封裝、繼承、多態,初步掌握UML建模,熟悉S.O.L.I.D原則,了解設計模式
  • 實驗三: 安裝alibaba 插件,以結對的方式完成Java密碼學相關內容的學習,結合重構,git,代碼標準。。
  • 實驗四:學習Android Studio的安裝和使用
  • 實驗五:使用JavaSocket實現客戶端與服務器的連接與交流,並進行一些加密操作。

(按順序)團隊項目報告鏈接匯總

  • 第一周階段總結:中綴轉後綴及對後綴表達式的計算,題目生成及驅動類的編譯,UML圖設計。
  • 第二周階段總結:完成部分關鍵代碼,並對其進行測試。
  • 第三周階段總結:完全完成全部代碼,進行收工。

代碼托管鏈接

  • 給出statistic.sh的運行結果,說明本學期的代碼量目標達到沒有?
    我說我虛擬機崩了,IDEA還不能git,有人信麽(雖然的確如此啊)大概8000行的代碼吧,因為之前第十二周博客就7000行了吧

  • 加點代碼,改點代碼是理解的最好方式,參考編程的智慧,談談你的心得
  • 改代碼確實是理解的最好方式,問題是,很少有代碼能給我們改,基本都是自己寫,一些繁瑣的地方有些沒必要
  • 積極主動敲代碼做到沒?教材實踐上有什麽經驗教訓?

  • 沒有,沒有

課堂項目實踐

  • 參考藍墨雲班課
  • 課堂實踐鏈接(沒有的可以不列)
  • 實踐1
    生成[-10,10)之間的隨機數PseudoNumber,並輸出PseudoNumber;
    輸出PseudoNumber的二進制、十六進制形式;

  • 實踐2
    編寫一個Book類,其實例數據分別表示書名、作者、出版社以及版權日期。
    定義一個Book構造方法,接收並初始化實例數據;為所有實例數據定義獲取和設置他們的方法
    定義一個toString方法,返回幾行描述該圖書的字符串。
    創建一個Bookshelf驅動類,其main方法實例化並輸出一些Book對象。

  • 實踐3
    編譯並運行PP7.4

  • 實踐4
    使用for循環計算n的階乘,並截圖上傳。
    使用while循環計算n的階乘,並截圖上傳。

  • 實踐5
    命令行參數測試
    從命令行傳入 學號、課程的成績,計算平均成績,並輸出
    輸入 java computeAverage 20172301 98 99 100
    輸出:2017 2301‘ average score is :99
    使用邊長參數列表實現。

  • 實踐6
    已知抽象類Animal,定義Cow類和Sheep類,繼承Animal類,並測試

  • 實踐7
    使用選擇和插入排序法,寫出第3次排序的結果:3 1 9 3 6 2 10

  • 實踐8
    1.從鍵盤可以輸入任意個整數(int);
    2.寫入文件;
    3.從文件讀取所有的整數;
    4.使用插入排序對讀取的整數進行排序,並將排序的結果寫入原文件。
    5.使用try-catch語句處理IO異常,例如文件創建異常

  • 實踐9
    使用遞歸實現;
    輸入一個數n;
    使用遞歸計算F(n)的值;
    寫入文件中。

  • 實踐10
    完成P397頁例題中的節點刪除和插入操作,並測試
    完成插入、刪除功能
    加分項:用Magazine類實現Comparable接口,並對鏈表中的雜誌按照字母順序排序,並輸出。

  • 實踐11
    下載附件中的world.sql.zip, 參考http://www.cnblogs.com/rocedu/p/6371315.html#SECDB,導入world.sql
    編寫程序,查詢世界上超過“你學號前邊七位並把最後一位加到最高位,最高位為0時置1”(比如學號20165201,超過3016520;學號20165208,超過1016520)的所有城市列表,運行並截圖上傳(Java代碼截圖、運行結果)。SQL語句:SELECT * FROM city WHERE city.Population>5000000
    編寫程序,查詢哪個國家的平均壽命最長,哪個國家的平均壽命最短,並截圖上傳(Java代碼截圖、運行結果)
    SQL語句:SELECT * FROM country WHERE country.LifeExpectancy=(SELECT MAX(country.LifeExpectancy)FROM country) SQL語句:SELECT * FROM country WHERE country.LifeExpectancy=(SELECT MIN(country.LifeExpectancy)FROM country)
    編寫程序,查詢世界上的所有中東國家的總人口

SQL語句:SELECT SUM(Population) FROM country WHERE country.Region="Middle East"

  • 實踐12
    在Android平臺上開發移動程序,模擬棧的操作:Push、Pop。

  • 實踐13
    開發一個Android應用程序,要求:輸入一個中綴表達式,輸出後綴表達式。

  • 實踐14
    開發一個android應用程序,完成以下功能:
    隨機生成一個中綴表達式,並使用控件顯示。
    將該表達式轉換為後綴表達式,並使用控件顯示。
    計算後綴表達式的值,並使用控件顯示。
    (選做)顯示每一步操作數棧和操作符棧的變化過程。

  • 實踐15
    夥伴1編寫服務器端程序,接收客戶端發送的數據(形式如下:12 15 8 100 25 34 19),將其排序後,發回給客戶端。
    夥伴2編寫客戶端程序,將一串字符串(形式如下:12 15 8 100 25 34 19)發送給服務器端,接收排序後的程序,並顯示。

  • 課堂實踐對提高應用能力有幫助嗎?
    有的,學會了如何寫博客
  • 課堂實踐上自己有什麽經驗教訓?
    代碼什麽的,先畫個圖再寫吧,不然能推翻重寫好幾次
  • 課堂實踐上對老師有什麽教學建議?
    參考博客能更新下不

課程收獲與不足

  • 自己的收獲(投入,效率,效果等)
    學會了不少關於敲代碼的知識,當然程序的設計環環相扣,也讓我學會了統籌規劃
  • 自己需要改進的地方
    太懶
  • 結對學習是不是真正貫徹了?寫一下你提供的幫助或接受了什麽幫助,並對老師提供參考建議
    建議老師講的時候一些小學生都能理解的東西就拿比喻手法出來講了,建議講些細節的關鍵代碼

問卷調查

  • 你平均每周投入到本課程有效學習時間有多少?
    一開始只有二十多個小時,後來大概三十個小時以上。
  • 每周的學習效率有提高嗎?你是怎麽衡量的?
    有的,以完成代碼練習效率,課本訓練的速度為基本標準。

  • 藍墨雲班課的使用對你的學習有促進嗎?有什麽建議和意見嗎?
    說真的意義不大,但是有些地方還是很可取的。建議精簡一些
  • 你覺得這門課老師應該繼續做哪一件事情?
    應該註重課上的講解,對於細節的講解,對於參考博客的編寫。
  • 你覺得這門課老師應該停止做哪一件事情?
    能不寫博客麽
  • 你覺得這門課老師應該開始做什麽新的事情?
    項目,帶領大家多做點項目吧

其他任意發揮

  • 給出你的總結中涉及到的鏈接的二維碼
  • 碼去項目鏈接: 二維碼技術分享圖片

20172312 2017-2018-2《程序設計與數據結構》課程總結