20165310_獲獎感想與Java階段性學習總結

獲獎感想與Java階段性學習總結

一、Learning By Doing

? 在此之前,其實我并沒有想到能夠成為小黃杉的第一批成員之一,喜悅之余,也感受到了許多的壓力。小黃杉一方面代表了老師對于我這一階段學習成果的肯定,但同時也是對我的督促與要求,使我更加不敢在學習上懈怠,以免成為反面教材,貽笑大方。

? 回憶這一階段的學習歷程與經驗,其實正應了小黃杉上印的字:Learning By Doing。

二、課程學習

? Java首先是一門專業課程,在專業課程的學習中,我認為理論、實踐的學習都缺一不可。

1、語法基礎

? 學習一門編程語言,語法是基礎。書本的意義正在于此,每一章的書本學習與代碼練習正是一個扎下基礎的過程。

? 書本越往后內容愈發艱深,甚至有些同學前五章內容還沒理解就試圖鉆研后面的內容,打算“遇到了前面的基礎部分再回過去學習”,但其實,在我看來,前五章的基本語法反而比后續的更加深奧的內容更加重要,正如老師所說:學好前五章的內容后,后面的內容臨時用到了再去學習也不遲,很快就能掌握。

? 例如一直看書覺得不太能掌握的的第八章的I/O令我很是頭疼,但在四則運算的結對編程中,由于需要實現文件的輸入輸出功能,不得不對每種輸入輸出方法進行更加集中深入的學習、理解,再進行優缺點選擇出最適合需求的輸入、輸出流,最后進行語法的學習從而實現這一功能,效果比當初單純的看書要好上許多。

? 倘若沒有前五章的基礎,是無法一步登天學會更加深奧的語法的,回頭學基礎未免不成體系太過零碎,所以不可忽視這一基礎。而僅僅把學習一門語言定義為語法的學習,從客觀來講,一周兩章的內容學習任務的壓力其實很大,個人來講只能囫圇吞棗,不如“以用促學,學以致用”,從而進步。當然,若是精力能力足夠完成學習任務的同學,也可以將書本所有內容細細學習一番,或許基礎會更加的扎實。

2、實踐鞏固

? 所謂“紙上得來終覺淺,絕知此事要躬行”。書本是基礎但不能拘泥于書本,所有的語言學習都是為了實踐而服務的。

? 不知道有沒有同學跟我有一樣的感覺:單純看書,不去使用,很多新學的東西過了一周,最多兩周就會忘記,這時候實驗的作用就會體現出來。

? 但是每次的實驗其實都不是一個一帆風順的過程,往往要耗費大量的時間、精力去設計、調試,每當千辛萬苦寫完的代碼甚至無法運行的時候,我的內心其實也是崩潰的:連個單步的機會都不給我。但正是一次次不厭其煩的調試,一次次地單步運行,才會使我們發現一些看書忽略的細節,發掘自己思維的漏洞,這是書上的東西才會變成你自己的東西,每次完成一個實驗之后的成就感也會成為你繼續學習的動力,而多次試驗后你會發現實驗過程越來越順暢,最起碼代碼無法運行的情況減少了很多。

? 例如,以前的我喜歡有個大體框架后就開始寫程序的壞習慣,一些情況的判斷與細節喜歡“到時候遇到了/想到了/運行出bug再寫”,而這往往是邏輯錯誤的來源,后來多次碰壁后慢慢改正了這個習慣,更多的去將整個流程詳細思考構建過后,再進行整體的書寫,血與淚的教訓下我的實驗已經高效了許多。

三、元知識

? 那么按照這個說法,我們學完前五章,定時寫寫實驗,那么我們早在開學前幾周就完成了Java課程的學習,我們之后的課程豈不是沒有意義了?

? 答案是否定的。我記得開學第一堂課,老師就提到過元知識這一概念,我們后續的學習在我看來,就是不斷學習元知識的過程。

? 這一過程是超脫Java課堂的過程,是可以用于其他領域的能力,這一能力使我更加受益匪淺。

1、工具的掌握與學習

? 我的電腦是MacOS系統,班里和我用同樣系統的同學對于一項事情大概心有戚戚焉:安裝軟件工具有時候真是太麻煩了。

? 的確,不使用虛擬機的話,MacOS安裝使用一些工具的教程其實并不多,它和Linux很多部分可以共通但也有很多不同,和Windows系統更是截然不同,每次安裝新的工具都會使我們耗費很多的精力,例如上次的XAMPP的安裝,端口、環境、配置等各種因素影響下,耗費了我一個周末的時間研究,才能正常運行使用。

? 但是正是每次這一并不簡單的過程,使我掌握了如何通過網絡,快速尋找解決方法的能力,如何獨自解決開發環境與工具的安裝使用問題,這一能力,并不僅僅局限于Java的開發使用,而是在別的學習過程中也大有用處。

2、思維的學習

? Java和C語言最大的不同在哪里?在于其思維的不同。在開始學習Java的過程中,我經歷了一個很長的思維轉變過程,通俗來講,C語言更多的是解決一個問題,而Java更多的是解決一類問題。

? 說來慚愧,其實直到現在我有時候的程序依然沒能完全滿足O·L·D·I·C·L的原則,但是我一直在努力改變自己思維,也在不斷修正以往寫過的程序努力靠近這一原則,雖然還沒有完全達成目標,但是這一過程本身就是一種進步,思維的進步比語法的學習其實是更為重要的收獲。

? 其實我并不反對上網查詢、借鑒別人的代碼,因為我也常常有邏輯上的疑問需要解答,每一次解決的困惑都是經驗與思維的積累,但是我并不贊成直接的復制粘貼,因為不會的語法可以查詢,可以借鑒,但是別人的思維是無法借鑒的,不掌握它,下一次依然不能獨立解決問題。

3、不要重復制造車輪

? 上述的感想似乎將Java描述成了一個艱苦卓絕的學習過程,但其實你要是能夠尋找到正確的省力方式,這個過程會簡單很多。

? 正如我上文所說,我不反對遇到瓶頸的時候去閱讀別人的代碼以求啟發,而能夠引用別人的庫更是一種輕松而又簡單的做法,眾所周知重復的制造車輪并不是一種聰明的行為。當然,在引用別人庫之前為了加深自己的理解與學習進行的實現編程也是一個必須的過程,正如我們在用sort方法之前自己理解并且實現過快速排序、冒泡排序等一系列的功能,但是若是次次都“反復制造輪子”,未免就有些費力不討好了。

? 例如之前老師課上講到的密碼學算法的庫,就可以在接下來的密碼學實驗中一展身手。能夠正確的“偷懶”,相信大家也是喜聞樂見的。

四、元知識的應用

這些元知識的應用其實往往是并不顯眼的潛移默化的學習能力的增強,但是由于這段時間連續的比賽,我的感受較為深刻一些。

在比賽的時候,你遇到的往往都是你不曾接觸過的內容,涉及程序的題目,也不會只有C語言、Java相關的程序需要你去解讀,你看到更多的是Python、JavaScript、PHP……

但是你從來不會聽到一個選手說:這個語言我沒有學習過,題目我不做了。取而代之的是你必須抓緊時間,去學習新語言的新語法,盡快讀懂題目的代碼與意義,這時候你的元知識就會派上用場:你能否利用搜索引擎快速尋找到合適的編程、運行環境?你能否結合你學過的東西盡快理解新的語法?……這個時候你會發現,所有的語言都只是一種工具與載體,同樣的題目可以用不同的語言來編寫,但本質其實并沒有改變。即便是相對了解的語言,例如Java,你也需要重新學習并不常見的類,例如上次比賽出現的BigInteger類也是一次新的學習,隨后的密碼學計算方法實驗的大數運算中,就派上了大用場。

與此同時也不代表對于你掌握的語言,能看懂就足夠了。例如上文提到的Java的面向對象的思維,使我面對類似思維的Python等有所熟悉,就是一種經常運用、思考帶來的好處。但此時能否將陌生語言的題目重寫成你熟悉的語言進行改寫、運行,也是十分需要功底的,倘若你編寫、調試代碼的時間就需要好幾個小時,就會錯過做題的時機。所以對于已經學過的語言,我們依然要精益求精,有所進益。

五、小結

? 每個人的學習形式并不相同,有的人適合系統的理論知識學習再進行實踐體會,有的人適合邊學邊做例如我,只要是適合自己有所收獲的方式都是值得鼓勵的,我的學習方法上也依然存在許多需要改進的不足,更需要在學習中逐步調整方向與方式,不斷改進,也希望能和老師同學進行交流,接受意見,汲取經驗與教訓。

? 但是最重要的是,我們要清晰明確自己的目標,對于元知識硬知識軟知識加以學習分析并且靈活運用,努力向目標前進,不是一昧做題、練習,而是有所思考、感悟,學會融匯貫通式的學習,能夠“舉一反三”,相信不只在Java,而在任何領域上都會學有所成。

?

轉載于:https://www.cnblogs.com/atbaoi/p/8998524.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/280398.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/280398.shtml
英文地址,請注明出處:http://en.pswp.cn/news/280398.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

chrome瀏覽器崩潰_不只是您:Chrome瀏覽器在Windows 10的2018年4月更新中崩潰

chrome瀏覽器崩潰If your computer is hanging or freezing after installing the Windows 10 April 2018 Update you’re not alone, and Microsoft is aware of the problem. 如果在安裝Windows 10 April 2018 Update之后計算機掛起或死機,您并不孤單,…

讀名老中醫之路筆記(二)

任應秋:我的治學門徑和方法 任應秋先生從幼讀經,十三經皆能成誦,屬于帶童子功的醫學家,他的醫學經驗: 一、讀經宜讀全本,解經宜先識字,讀經宜正音讀,強調對經典著作的朗讀和背誦&…

致敬青春歲月

昨天發生的一件神奇的事情。我們公司工會組織了一次小型的戶外團建,有機會認識一些其他部門同事,沒想到有一個同事小心地認出了我,然后還談起了關于.NET技術和社區的一些發展的歷史和故事。他在微軟工作的時間比我久,但時空交錯&a…

談談- declare-styleable屬性

在Android開發中,往往要用到自定義的控件來實現我們的需求或效果。在使用自定義 控件時,難免要用到自定義屬性,那怎么使用自定義屬性呢? 一、簡單使用: 1.在文件res/values/下新建attrs.xml屬性文件,中定義…

docker:自定義ubuntu/制作鏡像引用/ubuntu換源更新

一、需求 1. 制作一個圖像辨識的api,用到相同設置的ubuntu鏡像,但是每次制作都要更新ubuntu和下載tesseract浪費半個到一個小時下載,所以制作一個自定義ubuntu幾次鏡像大大提高開發效率。 2. 制作ubuntu過程時,可以調試tesserac…

jQuery 屬性和CSS

HTML代碼&#xff1a; <div id"div1">div1<p>1</p><p>2</p><p>3</p> </div> <div id"div2">div2</div> <div id"div3">div3</div>attr()設置節點的屬性 $("#div1…

facebook人臉照片_為什么您的Facebook照片看起來如此糟糕(以及您可以如何做)...

facebook人臉照片Facebook is a popular platform for sharing photos, even though it’s not a very good one. They prioritize fast loading images over high quality ones. You can’t stop it from happening, but you can minimize the quality loss. Facebook是一個受…

用C#自己動手寫個操作系統,爽!

自從C#的AOT編譯機制發布以來&#xff0c;有趣的項目越來越多&#xff0c;今天給大家推薦一個開源項目&#xff0c;用C#開發的64位操作系統。項目簡介這是一個使用.NET Native AOT技術編譯的C# 64位操作系統&#xff0c;系統的基礎功能基本都已經支持&#xff1a;網卡、多處理、…

JavaFX 學習筆記——窗口與控件

前言 如今比較流行的桌面gui框架有WPF、WinForm、Qt、javafx等。其中WPF和WinForm目前還只能在運行Winsows上。Qt(widget)是一個很強大的跨平臺C框架(不只是UI)&#xff0c;但用C寫界面實在有點蛋疼&#xff0c;且編譯出來的體積很大。 JavaFX是基于JAVA的開源桌面框架&#xf…

Linux 用戶名、主機添加背景色

文章參考&#xff1a;PS1應用之——修改linux終端命令行各字體顏色 Linux 用戶名、主機添加背景色&#xff0c;用于生產環境&#xff0c;這樣可以減少人為的誤操作。 1 [rootzhang ~]# tail /etc/bashrc 2 ……………… 3 export PS1"\[\e[37;40m\][\[\e[37;41m\]\u\[\e[3…

python 調用文件上傳圖片簡單例子

使用方法&#xff1a; python.exe .\test.py "fileD:\img\mark_1080.png" "matchWordListRUN" "urlhttp://192.168.0.37:8081/templateMatch" test.py import requests import sysif __name__ "__main__":print(參數個數為:, len(s…

解決網站在負載均衡環境下SESSION丟失的問題

在WEB場中,動態網頁往往會因為幾臺主機做了負載而產生SESSION丟失的問題&#xff0c;網上也有很多的介紹&#xff0c;我這里只將我經歷的過程給大家分享一下&#xff1a; 系統要運行在負載平衡的 Web 場環境中&#xff0c;而系統配置文件web.config中的Session狀態卻設置為InPr…

如何從手機或PC將游戲下載到PlayStation 4

PlayStation 4 games can be huge, and take hours to download. Thankfully, you can start downloading games even when you’re away from home. All you need is Sony’s official smartphone app, or a web browser on any PC. PlayStation 4游戲可能非常龐大&#xff0c…

CML更新 | 新增百度小程序、支付寶小程序

祝所有工程師小伙伴開工大吉&#xff0c;Beatles 團隊已經開始忙碌起來了。 幾個事情要向諸位匯報一下&#xff1a; 一、新增百度小程序、支付寶小程序 發布alpha版本支持百度小程序、支付寶小程序&#xff0c;已有項目可以無縫直接運行在新增平臺&#xff0c;歡迎安裝試用&…

C#中4種深拷貝方法介紹

概述為什么要用到深拷貝呢&#xff1f;比如我們建了某個類Person&#xff0c;并且實例化出一個對象&#xff0c;然后&#xff0c;突然需要把這個對象復制一遍&#xff0c;并且復制出來的對象要跟之前的一模一樣&#xff0c;來看下我們一般會怎么做。1、利用反射實現public stat…

kaggle入門項目:Titanic存亡預測(三)數據可視化與統計分析

---恢復內容開始--- 原kaggle比賽地址&#xff1a;https://www.kaggle.com/c/titanic 原kernel地址&#xff1a;A Data Science Framework: To Achieve 99% Accuracy Step 4: Perform Exploratory Analysis with Statistics 使用描述性與圖表分析數據&#xff0c;重點在于數據可…

docker遇到問題歸納

/bin/sh^M: bad interpreter #在win下編輯的時候&#xff0c;換行結尾是\n\r &#xff0c; 而在linux下 是\n&#xff0c;所以才會有 多出來的\r #可以用以下方式解決先在控制臺cd到報錯的目錄#編輯報錯的那個文件 vi xxx.sh#利用如下命令查看文件格式 :set ff 或 :set filef…

faster rcnn訓練過程講解

http://blog.csdn.net/u014696921/article/details/60321425

firefox 擴展_如何檢查您的擴展程序是否將停止與Firefox 57一起使用

firefox 擴展With Firefox 57, scheduled for release in November 14, 2017, Mozilla will end support for legacy extensions, and only support newer WebExtensions. Here’s how to check if your extensions will stop working—and how to keep using them after Novem…

《構建之法》 讀書筆記

《構建之法》 讀書筆記 婁雨禛 PB16060356 第一部分 關于結對編程的體悟與實踐 在結對編程這一部分我曾講過很多的注意點&#xff0c;比如代碼變量命名風格、縮進風格、注釋風格&#xff0c;前后語句次序風格&#xff0c;等等。然而這里還有一些新的東西。代碼風格這個老掉牙的…