本科階段,一門計(jì)算機(jī)相關(guān)課結(jié)束后,應(yīng)該留下些什么?

全文2000字,閱讀時(shí)間6min

1、概述

這個(gè)是大二下的課程表,計(jì)算機(jī)相關(guān)的課程有「面向?qū)ο蠹夹g(shù)」(實(shí)際上就是MFC),「數(shù)據(jù)結(jié)構(gòu)」、移動(dòng)終端軟件開發(fā)技術(shù)(實(shí)際上是Android開發(fā))
下面對(duì)其分別簡稱為,MFC、數(shù)據(jù)結(jié)構(gòu)、Android,以方便進(jìn)行接下來的總結(jié)和吐槽。
這三門課,其實(shí)都只是學(xué)了點(diǎn)皮毛,原因有很多,其中一個(gè)重要的便是持續(xù)學(xué)習(xí)一門課的時(shí)間段太短了。大二下一共有9門課,其中馬克思主義、信號(hào)與系統(tǒng)、概率論、英語翻譯等占據(jù)太多時(shí)間,而那三門計(jì)算機(jī)相關(guān)的課本身的一個(gè)理論框架熟悉需要時(shí)間,動(dòng)手時(shí)間也需要時(shí)間,并且是需要周期長一點(diǎn)的反復(fù)的時(shí)間。
?

第一門MFC

課程設(shè)計(jì)成果截圖(做了一個(gè)仿QQ)



?

?

? ? ? ??

?

?
MFC老師他上課時(shí)的思緒邏輯總是有點(diǎn)像4g時(shí)代拿著3g手機(jī)看視頻似的,卡片卡片的,還有一種照本宣科、讀PPT的感覺。??????我們知道學(xué)一些基礎(chǔ)的東西可能有助于打好基礎(chǔ),但是老師那種只談MFC,其他一點(diǎn)有趣的課外延伸一點(diǎn)都沒有,這有點(diǎn)像一位被老技術(shù)捆綁住、停滯不前的老師在坐井觀天地教學(xué)生。
?
MFC老師給我留下最深刻的一句話絕對(duì)是那句
“代碼我就不寫了,寫代碼太費(fèi)時(shí)間了,你們自己回去看書,書上都有”。
記得有一次,老師有敲過一次代碼,有錯(cuò)誤,老師在他那個(gè)沒有行數(shù)顯示的VC6.0上找了好久,最終發(fā)現(xiàn)是函數(shù)沒有加括號(hào)。我不是想嘲笑老師,這節(jié)課我反而覺得很真實(shí),學(xué)的東西反而更多。如果每一個(gè)老師都說,代碼書上有,回去自己看書,那哪個(gè)老師來當(dāng)?shù)谝粋€(gè)教學(xué)生從0敲完整一點(diǎn)的程序,這就有點(diǎn)像,每個(gè)數(shù)學(xué)老師都講理論,卻沒有一個(gè)老師能真正帶學(xué)生從頭到尾算一道習(xí)題。
?
那這門課我學(xué)到了什么?
首先是了解到了MFC的一些歷史
如何new一個(gè)MFC工程,了解一個(gè)MFC工程的框架、消息映射機(jī)制,在哪個(gè)地方添加代碼,如何使用控價(jià)。但是一些復(fù)雜一點(diǎn)的控件嵌套關(guān)系就不太懂了。
其實(shí)學(xué)習(xí)MFC時(shí)大部分時(shí)間都是在學(xué)習(xí)一些UI組件的規(guī)范,組件的繼承關(guān)系。真正涉及到算法的、數(shù)據(jù)庫的幾乎是沒有。這也是我所擔(dān)心的。
?
那這門課過后留下給我們的應(yīng)該是什么?
1、MFC的筆記以及學(xué)過MFC后可以大膽追求其他技術(shù)的自信
或許在最近的一段時(shí)間、甚至未來我都不會(huì)用到MFC開發(fā),因此那些方法我會(huì)忘掉,但是我又不敢保證不會(huì)用到。萬一我需要用到,我可以通過筆記以新學(xué)時(shí)間的1/10,迅速把它撿起來。從新建MFC工程的結(jié)構(gòu)、到消息映射在哪個(gè)地方添加代碼,再到可使用的各種控件,以及控件的消息。不是說一定要學(xué)完MFC這種最初的UI編程,才可以去學(xué)新一點(diǎn)的UI編程如QT,但是既然學(xué)校安排了,我們也可以接受,因?yàn)楝F(xiàn)在的我不是急需熟練地掌握哪一門編程,而是需要不懼怕學(xué)習(xí)任何一種編程的自信心與能力。
?

?
第二門Android

這本書基于Android5.0
大概就是以2015年的Android5.0為基礎(chǔ)
涉及到2016年的Android6.0和2017年的Android7.0。
?
課程設(shè)計(jì)視頻·

源碼地址:https://pan.baidu.com/s/1PF5wfuhHn8Lek5Qxu_STZg 提取碼:8lah?
?
這本書也確實(shí)有點(diǎn)舊,沒辦法,因?yàn)锳ndroid迭代太快了,如今Android11正式版也即將發(fā)行。這本是很基礎(chǔ),但是快速迭代的Android也會(huì)因此改進(jìn)很多,課本的一小部分例子的方法都是Google不推薦的了deprecate。此外,Google也給出了許多新的、書上沒有的組件,就比如我們課程設(shè)計(jì)用到的Viewpager2。
我們Android全程錄播課,但是老師講話生動(dòng)有趣。他和MFC老師不一樣,他不局限于應(yīng)該講的Android界面,帶我們看了更廣闊的世界,但也教我們要把基礎(chǔ)打好
先把方法用起來,把效果實(shí)現(xiàn),再去探討底層細(xì)節(jié)和其他各種高級(jí)的東西。
?
那這門課我們學(xué)到了什么?
Android studio 入門了
了解到Android界面開發(fā)的一些框架。
如Activity要裝載xml,了解到一些控件的使用,比如要implements哪個(gè)接口,以及其方法。但是這也是我所擔(dān)心的,學(xué)習(xí)Android只是學(xué)到了一些基本界面,沒有掌握到一些更底層一點(diǎn)的東西,比如Handle,ContenProvider,網(wǎng)絡(luò)編程等等。
有點(diǎn)體會(huì)到面向XX編程,如面向百度編程,面向bing編程。
因?yàn)樵趯W(xué)習(xí)Android時(shí)喜歡用網(wǎng)上的一些教程,如viewpager2的使用教程,recyclerview的使用教程。認(rèn)識(shí)到網(wǎng)上水文多,但完整的教程也有。
當(dāng)有許多人在討論一門技術(shù)時(shí),那種學(xué)習(xí)氛圍真好。
Android 一直都在更新,有問題就會(huì)有新的進(jìn)展,不像MFC,找個(gè)帖子,都是08年的,網(wǎng)上交流的人都很少。
?
那這門課過后留下給我們的應(yīng)該是什么?
1、Android的筆記以及深知技術(shù)無限后積極探索的好奇心
如果不去參加一些項(xiàng)目,或者去實(shí)習(xí),大概率我是不常用Android studio,一些必須的方法我會(huì)忘掉。但是希望我的Android筆記可以在我需要Android的時(shí)候,讓我快速撿起這些記憶。很多技術(shù)可以學(xué)的東西都太多了,但這次只有Android真正讓我看到,前面就有許許多多的東西可以學(xué),如上面提到的Handle、contentprovider,網(wǎng)絡(luò)編程,這些都是老師快速帶過的。以及一些新的控件,都是都沒有教的。我困惑的是本人也沒有找到一個(gè)很好地學(xué)習(xí)方法,繼續(xù)深入學(xué)習(xí)。
?

?
第三門數(shù)據(jù)結(jié)構(gòu)

?
我理想中的數(shù)據(jù)結(jié)構(gòu)課程:比如講到快速排序,先來個(gè)理論分析,接著老師solo敲代碼????
?
實(shí)際上的數(shù)據(jù)結(jié)構(gòu)課程:比如講到快速排序,先來個(gè)理論分析,然后下課????
?
那這門課我們學(xué)到了什么?
簡單可以分為樹、圖、查找、排序等等的理論
那這門課過后留下給我們的應(yīng)該是什么?
數(shù)據(jù)結(jié)構(gòu)應(yīng)當(dāng)作為一個(gè)開發(fā)人員一生的課程。上理論課,做習(xí)題沒錯(cuò),但這只算是離散數(shù)學(xué)的升級(jí)版,并不算真正的數(shù)據(jù)結(jié)構(gòu)我們需要上機(jī)訓(xùn)練。并且以后仍然要保持對(duì)數(shù)據(jù)結(jié)構(gòu)的敏感。
總結(jié)
既然是學(xué)校安排好的課程,可以討論它是否值得學(xué)習(xí),但是這要建立在60分萬歲的基礎(chǔ)上,才可以從容地對(duì)外人做出課程的評(píng)價(jià)。
做好“規(guī)矩按照學(xué)校課程,從入門到入土”的思想準(zhǔn)備。
做好“局限于學(xué)校課程,畢業(yè)后代碼能力為0”的思想準(zhǔn)備
生態(tài)學(xué)習(xí)依然是我們的指導(dǎo)思想,附上大三上的課表

?
?
?