計算機專業C++應該怎麼教?

語法這些基本的當然要教

可是學生普遍反映,這門課學了老半天,也編不出一個能用的東西

不像java,一個學期下來,jsp、安卓、伺服器編程都能寫一點

想要在c++這門課程中增加一些應用的東西,查詢了一些資料,發現c++主要的應用領域如下:

服務端底層用c++

搜索引擎、廣告引擎

遊戲引擎

分散式資料庫

瀏覽器

通訊

可是挑選哪個入手呢?既能引發學生興趣,又不至於太難。遊戲似乎是一個好的選擇...大家的建議如何?


寫個遊戲。

2048或者貪食蛇或者俄羅斯方塊之類的。


安利過好多次,雖然這個並不是教」C++「的,語言只是載體。

http://web.stanford.edu/class/cs106x/index.html


前半段講面向對象思想,可以提一下23種設計模式。順帶可以介紹一種gui庫(比如qt)或者遊戲引擎(比如hge),大作業寫個遊戲,或者gui應用。

後半段講posix api,進程、並發、網路,大作業寫底層的東西,比如proxy server。

數據結構如果有專門的課,不建議堆到講程序設計的課裡面講。

當然cpp只是個載體,只講cpp的話可以講點標準庫來填補課時,但是那也太無聊了,不如作為參考資料給他們,反正他們需要用的時候會自己看的。


想起來上學期的計算機網路編程課程。

每周的作業都是用C++編寫使用指定協議的程序,最後的大作業是編寫一個使用RTSP協議進行網路流媒體播放的程序,既鍛煉了編程也熟悉了網路協議。

鑒於同學也上知乎我還是匿名的好。


寫Windows桌面應用


C++作為一種通用程序設計語言,自然能勝任各種需求,不過這並不意味著它是最好的選擇對於某一任務,當代碼規模小於2~3千行,完全無法體現其代碼組織的優勢,相反一些腳本或者對性能苛刻情況下c應該更為合適,當然對於這點可能有人不同意,c++的類型系統與范形是他真正區別於c的地方,基於此的衍生出的場景慣用法,使其具備更強表達能力,確實作為大學課程,很多都學成c,關鍵還是選擇場景,合理運用


我覺得吧,基礎語法肯定是要教的,只是別搞那些複雜的++和--混用,個人感覺一點用都沒有,研究這些簡直是在抹殺興趣。

基礎語法教完,就直接上GUI,這樣學生能夠直接看到自己做的東西,更直觀,然後可以寫一點簡易的打地鼠什麼的,先交學生畫畫,方框,然後計時器,隨機數,慢慢把這個遊戲填充豐滿起來,期間穿插學習基礎語言,介紹函數,當這個遊戲完成的時候,大家會有成就感,然後布置課外作業,大家可以寫五子棋、黑白棋、俄羅斯方塊等(這幾個是我在達內培訓的時候,利用課餘時間自己完成的,因為當時的老實說,除了自己寫的遊戲以外,其他遊戲不能玩,於是我就自己寫了……),這幾個小遊戲,並不難,就是驗證上稍微麻煩一點,畢竟學習中興趣引進門,要感興趣了才會去深究


推薦閱讀:

計算機中缺失MSVCP120D.dll和MSVCR120D.dll怎麼解決?
多幀圖片的數據存儲的問題?
從項目管理上來說,C++ 是否適合做大的項目?
學編程主要是學習什麼(學習重點是什麼?)
國外很多遊戲服務端遊戲邏輯部分用c++開發,上線後沒辦法熱更,他們是怎麼考慮的?

TAG:遊戲 | 計算機 | 教學 | C |