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

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

  • 課程:《程序設計與數據結構》
  • 班級: 1723
  • 姓名: 範雯琪
  • 學號:20172303
  • 教師:王志強
  • 助教:張旭升/劉偉康
  • 必修/選修: 必修

每週做業連接彙總

  • 預備做業01
    • 簡要內容:上學期總結;對專業的認識和指望;指望的師生關係;談一下從小到大對你幫助/影響最大的老師和緣由。
  • 預備做業02
    • 簡要內容:有什麼技能比大多數人更好?獲取此技能的經驗?本專業課的學習目標。
  • 預備做業03
    • 簡要內容:安裝Linux操做系統,學習Linux命令。
  • 第一週總結
    • 簡要內容:初步接觸java;下載相關軟件;學習一些簡單的java程序編寫;登錄Linux時提示儲存空間不足的解決方法
  • 第二週總結
    • 簡要內容:java的8種基本數據類型;運算符的使用;數據類型的轉換;Scanner類命令。
  • 第三週總結
    • 簡要內容:String類命令;Random類命令;NumberFormate類和DecimalFormat類命令;虛擬機藍屏的解決方法
  • 第四周總結
    • 簡要內容:UML類圖的使用;this引用;接口的相關方法;靜態變量和實例變量的區別
  • 第五週總結
    • 簡要內容:條件語句和循環語句;break和contin語句;迭代器和ArrayList類。
  • 第六週總結
    • 簡要內容:數組及其類型和使用;命令行形參和實參;類/對象/變量/參數的含義和區別和聯繫IDEA上git push失敗,顯示讓merge的解決方法
  • 第七週總結
    • 簡要內容:繼承的實現方法;類層次結構;Java修飾符的類型和區別
  • 第八週總結
    • 簡要內容:多態性的接口方式和繼承方式;兩種排序方法;兩種搜索方法。
  • 第九周總結
    • 簡要內容:異常的相關內容;文件讀寫的相關內容;遞歸;標識符的命名規範文件讀寫分行的方法
  • 第十週內容
    • 簡要內容:集合;動態數據結構;線性數據結構arraylist和linkedlist的區別隊列、樹、圖如何用代碼來實現
  • 第十一週內容
    • 簡要內容:Android的初步瞭解;活動的生命週期;UI組件;AS下載過程當中遇到的相關問題及解決方法

自認爲寫得最好一篇博客是?爲何?

  • 我的以爲寫的最好的博客是第10周學習總結。由於我以爲這周的博客中是我整個java學習中學習過程最完整,且體現得最好的一篇。
  • 首先從寫博客開始,教材內容學習寫的比較認真,問題記錄也都比較詳細。其次,本週是我和結對夥伴結對狀況最好的一週,互評積極且內容有意義,不是什麼很水的排版好啊內容詳細之類的泛泛之談。最後,本週的博客不是寫完就寫完了,而後就不再管了,在看告終對夥伴的博客以後,我又對博客內容進行了必定的修改和添加,是一個再次學習的過程,而不是就像完成一個任務同樣,本週的完成了,好,我去作下週的,這周作的好很差怎麼樣還有沒有能夠補充的這些就全都無論了。我以爲學習的過程當中是不能缺乏反覆的過程的。
  • 除此以外,我很是喜歡我在這篇博客中寫到的那句話:珍惜天賦,保存悲憫

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

  • 閱讀量最高的一篇博客是預備做業02。說實話,我以爲這篇博客閱讀量高的緣由主要有兩個,一個是由於當初這篇博客我是第一個交的,你們在寫博客的時候都喜歡先看看寫完的人是怎麼寫的,因此早寫完的博客廣泛閱讀量要高於後寫完的。其次,由於我寫的內容是關於背單詞的,引發了不少老師的關注,在這篇博客裏鄒欣老師和婁嘉鵬老師都對個人博客進行了評價,因此閱讀量比較高。
  • 但我以爲個人博客自己沒有什麼技術含量也沒有什麼特別值得學習的地方。其實如今來看的話,我以爲當時寫這篇博客的我是個狂妄自大的「小屁孩」,由於我不多能找到有人比我背單詞的天數更多的,可是可能我太拘泥於數量了,因此就以爲本身背的天數多就很厲害了,但其實個人英語水平仍是侷限於把英語考試考好而已,並非真正掌握一門語言
  • 但很欣慰的一點是,當時鄒欣老師給個人建議是能夠開始讀英文原版書了,原本我是在扇貝上看文章的,後來發現這個過於靠自覺了以爲我開學以後確定堅持不下來,因而我在本學期報了一期薄荷閱讀,如今已經讀到第三本英文原版書了。

    一個很大的感受就是真的並非你認識的單詞多了考試考得好就是你學會英語了,在讀第一本書的時候我感受還好,但當到了第二本難度提高了以後,我就發現有不少句子我要反反覆覆看不少遍才能看懂,由於它不像考試那樣系統完整,不少句子是頗有本土風格的(我實在不知道怎麼組織語言),就是那種只有把它做爲第一語言的人才能寫出來的句子,不拘泥於語法結構,能省略就省略,能簡單就簡單,讀起來真的頗有感受。

實驗報告連接彙總

  • 實驗一 Java開發環境的熟悉(Linux + Eclipse)
    • 簡要內容:學習JDB調試;下載並學會使用IDEA。
  • 實驗二 Java面向對象程序設計
    • 簡要內容:學會使用JUnit測試;學會使用UML建模;熟悉S.O.L.I.D原則。
    • 共設置了五個節點:
      • (一)完成單元測試的學習,提交最後三個JUnit測試用例
      • (二)以 TDD的方式研究學習StringBuffer
      • (三)用本身的學號%6進行取餘運算,根據結果進行代碼擴充
      • (四)以TDD的方式開發一個複數類Complex,定義四種公有方法:加減乘除
      • (五)使用StarUML對實驗二中的代碼進行建模
  • 實驗三 敏捷開發與XP實踐
    • 簡要內容:代碼規範;JUnit測試;重構練習;密碼學相關。
    • 共設置了四個節點:
      • (一)安裝alibaba程序並運行,解決代碼規範
      • (二)複習JUnit單元測試
      • (三)使用編碼規範掃描規範結對夥伴的代碼
      • (四)結合重構與結對夥伴共同窗習密碼學相關內容
  • 實驗四 Android程序設計
    • 簡要內容:Android Stuidio的安裝測試;Activity測試;UI測試;佈局測試;事件處理測試;如何將代碼導入ASR文件變紅的解決方法修改碼雲地址後如何上傳
  • 實驗五 網絡編程與安全
    • 簡要內容:Java Socket應用;密碼學相關內容實踐。
    • 共設置了五個任務:
      • 任務一:實現中綴轉後綴並計算結果的功能
      • 任務二:基於Java Socket實現客戶端/服務器功能
      • 任務三:基於任務二,使用3DES或AES算法將後綴表達式進行加密
      • 任務四:基於任務三,使用DH進行密鑰交換
      • 任務五:基於任務四,使用MD5將明文加密

團隊項目報告連接彙總

代碼託管連接

給出statistic.sh的運行結果,說明本學期的代碼量目標達到沒有?

  • 由於個人碼雲當初出過問題虛擬機上的代碼統計有問題(第七週博客中有提到),因此這裏放IDEA裏的代碼統計結果,這個是正確的。
  • 代碼量目標我想咱們班大多數同窗應該是都達到了,不少人可能一學期的代碼量已經達到了兩學期總共要求的一萬行了,因此說我還要多多努力啊!!!!

加點代碼,改點代碼是理解的最好方式,參考編程的智慧,談談你的心得

  • 我以爲在這篇博客裏有一段話我很是喜歡:php

    有位文豪說得好:「看一個做家的水平,不是看他發表了多少文字,而要看他的廢紙簍裏扔掉了多少。」 我以爲一樣的理論適用於編程。好的程序員,他們刪掉的代碼,比留下來的還要多不少。若是你看見一我的寫了不少代碼,卻沒有刪掉多少,那他的代碼必定有不少垃圾。html

  • 我記得有一次作課堂實驗,原本我第一次花了半天寫好了,可是晚上運行的時候張旭升學長說我這個結果不符合要求,而後我就去改代碼,改了一天半,是寫代碼時間的三倍。而後就以爲,改代碼比寫代碼難多了。並且越到後面這種感受越明顯,感受本身就在不停地使用ctrl+zctrl+/改來改去刪來刪去,雖然最後可能就會剩下幾十行代碼,但在這幾十行最後造成以前,其實有比它多好幾倍的代碼曾經被刪除過或者改過。java

積極主動敲代碼作到沒?教材實踐上有什麼經驗教訓?

  • 我以爲我仍是算作到了吧,剛開始的時候是爲了追求代碼量因此能多敲就多敲,到了後面對代碼量看得比較淡了以後就開始想辦法用盡可能簡潔的代碼把程序寫出了。可是積極主動敲代碼看得又不是敲代碼的量而是態度,因此我以爲是作到了。
  • 絕對不要100%地去相信課本,對什麼有疑問有懷疑的時候必定要本身去測試。而後就是不要僅僅侷限把在教材上的代碼敲一遍,應該去學學老師,本身根據代碼作一些修改,充分發揮一下本身的「腦洞」。

課堂項目實踐

  • 參考藍墨雲班課

課堂實踐連接

  • 命令行參數測試:從命令行傳入學號、課程的成績,計算平均成績並輸出,使用邊長參數列表實現。
  • 繼承-練習:已知抽象類Animal,定義Cow類和Sheep類,繼承Animal類,並測試。
  • 排序:使用選擇和插入排序法,寫出3 1 9 3 6 2 10第3次排序的結果。
  • IO操做及異常處理:從鍵盤寫入任意個整數到文件中,從文件中讀取後排序再次寫入原文件,使用try-catch語句處理IO異常。
  • 遞歸:輸入一個數n,使用遞歸計算F(n)的值,並將計算結果寫入文件中。
  • 鏈表插入和刪除:完成P397頁例題中的節點刪除和插入操做,並測試。
  • 數據庫操做實踐:下載相關軟件;編寫程序,查詢世界上超過「你學號前邊七位並把最後一位加到最高位,最高位爲0時置1」;編寫程序,查詢哪一個國家的平均壽命最長,哪一個國家的平均壽命最短; 編寫程序,查詢世界上的全部中東國家的總人口。
  • Android課堂實踐:在Android平臺上開發移動程序,模擬棧的操做:Push、Pop。
  • Android-中綴轉後綴:開發一個Android應用程序,要求:輸入一箇中綴表達式,輸出後綴表達式。
  • Android表達式計算:在上一個實驗的基礎上,計算後綴表達式的計算結果,並顯示棧的變化過程,使用控件顯示。
  • Socket編程:夥伴1編寫服務器端程序,接收客戶端發送的數據,將其排序後,發回給客戶端。夥伴2編寫客戶端程序,將一串字符串發送給服務器端,接收排序後的程序,並顯示。

課堂實踐對提升應用能力有幫助嗎?

  • 固然有了,通常老師出的課堂實踐都是他本身想的,從網上查都查不到只能本身作。常常爲了一個課堂實踐活動把一成天都花在java上,去不停地敲啊改啊,但我以爲真的是對能力的一種考察,並且是對所學知識一個很好的應用。就和學會英語要看原版書同樣,知道怎麼去應用纔是真正學會了你想要學的東西

課堂實踐上本身有什麼經驗教訓?

  • 上課要好好聽老師講怎麼作,好好看老師的代碼是怎麼敲的。光上課聽一遍經常記不住也學不會,能夠上課的時候用手機錄下來下課以後找時間慢慢扣慢慢學,親測有效~

課堂實踐上對老師有什麼教學建議?

  • 其實我以爲王老師作的已經很好了,建議的話但願課堂實踐佔比再多一點,好比評小黃衫的時候能夠把課堂實踐的完成速度和完成狀況作一個佔比多一點的參考。

課程收穫與不足

本身的收穫(投入,效率,效果等)

  • 首先,語言表述能力、知識總結能力和記錄問題的能力由於寫博客的緣故有了很大提高,而後在效率方面感受本身在作課堂實踐的時候花的時間老是比較長效率不高,以爲仍是學得不夠精細的緣故,最後效果的話自我感受良好,能學到東西而且能會去用我就很知足了。
  • 這個學期最大的感受就是本身把大部分的精力和時間都放在java學習上了,它也確實是一門很是有意思並且讓人頗有成就感的課。常常由於一個什麼程序有錯誤或者代碼實現不了糾結上幾個小時甚至幾天,過程當中真的很難受也很難過,但往往熬到最後成功以後老是會開心很是很是久,感受以前再多的苦再多的累都是值得的。

本身須要改進的地方

  • 對學過的內容上點心,不要學到後面把前面的忘了又去返工重看。
  • 養成寫代碼及時加註釋的習慣,不要每次都等別人來提醒纔去加。

結對學習是否是真正貫徹了?寫一下你提供的幫助或接受了什麼幫助,並對老師提供參考建議

  • 我以爲我和個人結對夥伴在前期結對學習效果不是很好,可是越日後面兩我的愈來愈認真,結對評價也愈來愈細緻,仍是不錯的。
  • 我和個人結對夥伴在敲代碼的過程當中互相幫助都有的,但個人結對夥伴在敲代碼以外的一些事情上對我幫助極大,好比如何在IDEA中查代碼量,怎麼把代碼複製到Android Studio中等等,都是他教會個人。

問卷調查

你平均每週投入到本課程有效學習時間有多少?

  • 二十個小時左右吧。

每週的學習效率有提升嗎?你是怎麼衡量的?

  • 我以爲後期確定是比前期好的,從每週的博客總結中就能夠看出,感受後期的博客更加條理並且細緻,前期的話有時候有些趕工的感受。

藍墨雲班課的使用對你的學習有促進嗎?有什麼建議和意見嗎?

  • 很是有。但願視頻能夠自動調節時長,有時候想看到本身想看的東西前面要等很久,若是不當心在沒看完以前關了的話又要從新開始看很浪費時間。

你以爲這門課老師應該繼續作哪一件事情?

  • 繼續進行一些課堂實踐。

你以爲這門課老師應該中止作哪一件事情?

  • 「以博客寫的好壞論高低」。其實就是但願博客寫得怎麼樣的評價在總分中的佔比能下降一些,每週的博客寫得好能在總分中加一分,這個比重實際上是很是大的了,我也由於這個「受益」了好多,有幾回博客加分,成績會高點,但我自認爲並無某些博客寫的不是很精美但編程能力強的同窗學得好,良好的學習過程記錄確實很重要,但我以爲程序設計仍是實踐應用更重要一些。若是你們都爲了獲得那一分的加分而把時間花在把博客寫的更整齊,把界面弄得更好看上,就有些本末倒置了。

你以爲這門課老師應該開始作什麼新的事情?

  • 學的東西和咱們未來要乾的事情結合得再深一點,不但願學了整整兩學期的東西在離開了學校以後用得很少。

寫在最後

  • 剛開始學的時候感受特別迷茫和混沌,不知道本身學的是什麼,該在哪方面下功夫,寒假寫預備做業的時候覺得Linux操做系統就是咱們這學期要學的主要內容,找了個有一百多個視頻的學習教程慢慢看,還作了筆記,結果開學以後發現它不是咱們要花一學期去學的東西,就只是一個鋪墊,那會兒感受特難受,感受本身白費功夫了...可是回顧這一個學期,其實我學會了好多東西,發現本身從一個什麼都不會的小白變成了一個稍微會寫點代碼的半小白了。
  • 這個學習的過程累嗎?累,說不累那都是騙人的。但這並不妨礙它同時是一個很快樂的過程,我以爲這就像我最喜歡的一句詩同樣:git

    雄關漫道真如鐵,而今邁步從頭越。程序員

  • 下個學期繼續努力吧。web

給出你的總結中涉及到的連接的二維碼

  • 預備做業
    預備做業01

    預備做業02

    預備做業03
  • 教材學習
    第一週

    第二週

    第三週

    第四周

    第五週

    第六週

    第七週

    第八週

    第九周

    第十週

    第十一週
  • 實驗
    實驗一

    實驗二

    實驗三

    實驗四

    實驗五
  • 結對編程項目
    四則運算 第一週

    四則運算 第二週

    四則運算 項目總結
  • 碼雲連接
    Java項目

    Android項目

    四則運算
  • 課堂實踐
    命令行參數測試

    繼承練習

    排序練習

    IO操做及異常處理

    遞歸

    鏈表插入和刪除

    數據庫操做實踐

    Android課堂實踐

    Android-中綴轉後綴

    Android-表達式計算

    Socket編程
相關文章
相關標籤/搜索