《c++程式設計同步實踐寶典》前言
如果你被「寶典」一詞吸引而來,嘿嘿,原諒我標題黨一把了。
這些內容原先沒有想著有多寶貝,這是我「與84個寫**的菜鳥相伴而行[1]」的一年中,為學生寫的上機指導。c++程式設計的上機指導書不少,但是要貼近我的課堂,讓學生易於「同步」地開展實踐,中間要有個「過渡」,這需要老師為學生架座橋。初入大學的同學不容易,剛學程式設計的同學傷不起。打火、掛擋、松離合,這套老司機習以為常的動作,對菜鳥就是乙個坎,其實也能是一次小激動滴。
帶著這樣的想法,在指導學生第一次上機前,按著面向最「菜」的零基礎的學生的標準和一系列好玩的想法,寫了「上機指導」。儘管如此,第一次的上機仍然顯得混亂。至此,認識到乙份合適的「上機指導」,對菜鳥而言是多麼的重要。一雙鞋(老百姓的鞋,是要穿的,而不是看的)是不是寶貝,首先不是多好看,有多貴,而是合腳與否。於是乎,伴隨著每週一次的上機,堅持寫了下去,以至於一發而不可收拾,支撐了學生一年的課內外實踐。
還必須交待,這份「寶典」有水分:其內容只經過了一次實踐的檢驗。而且,呃,不好意思,還有,這個有18年教齡的迂腐的老師是第一次教c++。以前講過basic、pascal和c等語言,最近一次給新生開出的程式設計課程是給2001級的c語言。這十年,他的教學工作沒有停止過,但從沒有給新生上過課。十年的時間,學生特點、語言的發展,巨變啊。因此,有時想想,我是乙隻帶菜鳥學生的菜鳥老師。
其實,這也是一件令人自豪的事情。我是菜鳥,我怕啥。菜鳥的資本在於白手起家,無牽無掛,菜鳥的優秀品質在於勇於往前衝,捨得下力氣,摸著石頭過河,走一步看一步,碰壁了就回頭。在寫上機指導時,原先構想的是,一周一兩個題目讓學生做做就行。但越學內容越多,有時針對一周課堂教學的內容,一兩個題目根本沒有辦法覆蓋知識點,恨不得給學生寫上十個八個題目才能罷手。顯然,同學們的承受能力得考慮,於是苦了「菜」老師,有些題搜腸括肚一番,多體現些知識點,居然也用三四個題目交待了。於是,後來每週的題目數大致保持在三到五個。
控制題目個數方面的另乙個難度是「菜」老師額外自找的,這一點可能會使本「寶典」的讀者不適應,為此,我在教學過程中卻損耗了不少花花腸子。何方神聖?提前體驗[2]!簡單說,就是不待老師講,學生就要練,必要的準備僅限於老師給些提示。提前體驗的目的在於在我要講某一關鍵概念、知識點之前,學生就曾經稀里糊塗地用過了,當真正學到之時,大拍腦袋:原來當初如此!最重要的,我希望學生由此在學習方法上發生的改變,這是培養持續的自主性學習能力的非常重要的能力,尤其對於學習工程學科的同學。
在學習中,記憶很重要,有同學一開始學習程式設計,就走上了「背」程式的道路。天哪,被高考考糊的傻孩子,怎能這麼幹?就書上的幾道例題,能支撐你未來要做的專案嗎?工程師是要創造世上沒有的東西的,背程式成何體統!要知道,記憶的關鍵在於重複。所以,在這些題目中,除了想「提前體驗」,還想要「鉤起回憶」。這是我寫題目時的又乙個難度。
千萬別把「菜」老師想成詳林嫂一再訴苦,還有邀功之嫌。一點小得意,下了苦功夫,當然不避嫌。更重要的,我希望同學們在使用這本「寶典」時,品品這方面的味道。不品是不知道的。我的不少學生悶頭做題,做完了就完了,這些同學的初級階段走了很長時間,真的很累。也有的同學,做完了想一想,和課堂上、課本上的內容對照一下,體會出了賀老師的一番苦心,很快地就進步起來了。學得自信,學得輕鬆,學得有效。至於每週將拓展題也照單全做了的同學,更是不得了了。
有了這些量身訂做的上機題目,我的學生積累了最大的資本:**行數。說實話,每週
二、三百行,高峰時近千行的程式量對大一新生真是不容易。最投入的同學,利用大一的兩個學期,寫了近兩萬行c++程式。我的學生又是軟體外包方向的,除每一位大一新生必修的課程外,他們還得同時學日語,負擔很重。有時,我真的心疼這些孩子們了。但**行數的積累不能妥協。我們又一利器是用部落格提交實驗報告[3],在解決了抄作業頑疾的前提下,我的學生由此收穫良多[4]。
只是,當這些內容集在一起時,我需要調整一下其中的順序。我的課堂中的跳躍性讓菜鳥學生們常不適應,這種跳躍也延伸到了課後的上機。比如,在第4章關於陣列的上機實踐中,第13章講的檔案就被引入了。這解決了大量資料需要在執行程式時輸入的問題,更重要的是同學開始知道「檔案」這個東東可以程式設計操作。這體現的就是前面講的提前體驗。而本書主要是提供給學生在課外自學中參考的,適應學生們看書學習、做題實踐、再看書複習的學習節奏,其中的內容需要按照教材的章節重做調整。也就是說,當初同步於我課堂安排[5]的實驗指導,現在同步的是教材。
現在不得不提教材了,是大名鼎鼎的譚浩強先生的紅皮書《c++程式設計》(清華大學出版社)。這是一本非常優秀的教材,儘管也有些仁智之士的仁智之見。本書適合c++的初學者參考,也適合c++課程學過之後,想通過實踐回爐進一步提高程式設計能力的讀者。建議的使用方法是:看教材、按本書實踐、再看書理解涉及到的概念、原理。
everyone can cook. 學習的問題要用學習來解決。大學的學習,非不能也,是不為也。
每個人都能學會程式設計。如果各種條件不具備,你無法改變「選擇了計算機類專業」這一既成事實,通過改變自己,學會程式設計,愛上程式設計。將來可以不從事程式設計工作,但你的人生一定會因為曾經的程式設計而精彩。
信不信由你,我信了。相信的依據,看「迂者-賀利堅」部落格中我和我的學生的故事。
賀利堅
於2023年7月16日凌晨
[1] 見博文《這一年,與84個寫**的菜鳥相伴而行》,
[2] 見博文《提前體驗——工程教育中的法則》,
[3] 實施前的想法見博文《將時尚的網際網路引入教學中來》,教學效果的初步總結見博文《c++課程教學改革問卷調查報告》,
[4] 見博文《我的學生在csdn上發表博文情況統計》,
[6] 我的csdn部落格
[7] 見博文《體味:面對「問題」學生「哀其不幸,怒其不爭,助其成功」》,
C 程式設計同步實踐寶典 前言
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!c 程式設計同步實踐寶典 前言 如果你被 寶典 一詞吸引而來,嘿嘿,原諒我標題黨一把了。這些內容原先沒有想著有多寶貝,這是我 與84個寫 的菜鳥相伴而行 1 的一年中,為學生寫的上機指導。c 程式設計的上機指導書不少,但是要貼近我的課堂,讓學生易於...
C 專案開發實踐前言
曾經沒有做過專案開發實現解說,都是在工作過程其中,自動學習,查詢資料,由於在曾經的公司就我一人在做c winform開發,所以,有時候在公司培訓會上,我也會為新的員工進行過一些簡單的專案解說,基於在培訓過程其中自己的不足,以及在學習查詢資料過程其中,在網上查詢資料有時真的非常費勁,而眼下想找乙個為當...
c 程式設計實戰寶典 付強 C 開發實戰寶典pdf
c 開發實戰寶典 內容簡介 本書從初學者的角度講述使用visual studio2008開發環境結合c 語言進行程式開發應該掌握的各項技術,突出 基礎 全面 深入 同時就像書名所暗示的一樣,強調 實戰 效果。在介紹技術的同時,書中都會提供示例或稍大一些的例項,同時在各章的結尾安排有綜合應用,通過幾個...