C 程式設計三周教學記錄

2021-06-02 13:00:38 字數 2960 閱讀 1952

從第五周到第八周,除去第七周的國慶,c++共上了三周的課。大一新生三周能學會些什麼?他們已經能輸出漂亮的星號圖了。身為老師的我,和這群大孩子一樣高興。同學們的努力令我感動,自己的不少非常規的想法和做法在他們的配合下正在起著作用,我已經感覺到,他們中的絕大多數將就此找到感覺,不光是專業學習,而是整個大學生活,在忙碌和不斷出現的困難中,在快樂和不斷衝破束縛的過程中,享受大學帶來的一切。

原先安排第四周開始講課,三次課後才上機,我已經計畫好有充足的時間先「紙上談兵」。程式設計的功夫在上機之外,乙個周密的計畫想了一暑假了。

然而開學後接到第五周開始上課的通知。第五周只有一次課,星期三下午第3大節上完課,第4大節馬上上機,同學們連上機準備的時間都沒有。為難的是我。我需要給他們做好方案。重新整理思路後,第一節課仍按原想法少談c++。先打破同學們對計算機表面的認識,再談程式、語言,目標只有乙個,讓同學們熱愛專業,熱愛程式設計這個專業基本功。限於時間,馬上提出「讓我們一起玩」的倡議。

實驗指導和上機指南了,自己動手對他們是個考驗,也是很好的鍛鍊。最後,實驗報告以博文形式發布。等我收拾好家當去了實驗室,那乙個亂。上不網了,帳號出問題的,出不了校園網的,忙亂中,大二的兩位同學請示我問題,乾脆拉他們來幫我解圍。結果是,少量的同學完成了任務,更多的同學不甘心,再找時間完成。

和課代表商量好,每週星期五下午作為答疑時間,我到機房答疑,同學們自由上機。沒想到乘興而來的同學們卻沒有機器可用。等他們走後,我發現了更大的問題,我的計畫面臨流產。最後,算是找來了機時,卻也失望、憤怒而有了《

面對官僚,我們繞道而行

》。第六周有兩次課。星期二上課的教室能上網,趕緊推出網易公開課、csdn等。有些老師怕學生上網,我則盡力將學生往網上推。網路是個大寶藏,關鍵是要同學們知道如何用,知道哪兒有資源。一點基礎知識都沒有,卻要和同學們一起讀程式,所幸有我委託事務助理影印的聽課記錄,慢慢講,引得大家一起思考。慢下來,一定要讓他們對程式有感覺。發揮了老教師慢講的功底,我覺得效果還是不錯的。星期三的上課,引入了程式除錯。還沒有學任何語法,還不會寫任何程式,就要會單步執行、會設定斷點,會觀察變數值的變化,我以前沒有聽說誰做過,但我計畫嘗試一把。單步執行不僅是除錯程式所需,對理解程式的執行也應該是直觀的,並且一旦會用,他們將有能力自主學習。專門寫了

vc除錯功能初步和

實驗指導。在隨後的上機課中,同學們完成了對用函式實現的求最大數和程式的跟蹤。神奇,不少同學反映稀里糊塗,但實驗指導中的任務的確能完成了。不糊塗不正常,這本來對大家就是個挑戰。星期五下午,面臨第二天就是國慶放假,但還是有三分之二的同學參加了自由上機。新生真好!

這兩周的工作,讓我感覺到有些累了。一般課程,構思好方案,做好ppt講稿即可。課前看一看,直接去講。而在對我和同學們都是挑戰的這門課程中,每堂課前,我都要寫出供同學們用的課堂記錄,教材中缺失的材料需要親自去寫,還有實驗方案,都是全新的做法。有幾天都是早晨三四點鐘早早醒來開始寫作的。

幸虧有了國慶節放假,抽出了寶貴的整時間備課,一口氣將講義做到了第5章,總算有了點積累了。但乙個問題始終沒有下決心:是開始按步就班依教材講語法,還是再拋開教材講程式設計思想和方法。一部分同學已經開始對這種教學方法不適應了,教學進度貌似也不允許我再自由下去。

直至第七周星期六,我還是定不下來。星期天醒來,乙個更加清晰的思路就在腦中,估計天快亮了,起床寫吧,起來看錶卻只有兩點半。在原來做好的第3章課件基礎上修改,同步寫第3章的聽課與學習指導,一氣呵成,5點半收工睡回頭覺,6點10分再起床和兒子一起吃早飯。由演算法入手,用1+2+...+100做引子,牽出控制結構和表示演算法的工具:偽**、流程圖、n-s圖,然後用星號圖為例,講「自頂向下,逐步求精」,力圖讓同學們掌握思考和表達的方法。這是程式設計的一道坎,很多老生會寫語句和表示式,但就不知如何針對問題進行分析。在所有的思維中,如果能把迴圈繞清楚了,會通過逐級求精寫出迴圈巢狀來,障礙自然掃除。用星號圖玩控制結構是我在指導兒子自學程式設計時用過的,現在在課程教學中作一嘗試。的確,星號圖相對其他任務,好玩多了。安排好學生事務助理影印學習指導後,構思

配套的實驗指導。我還不甘心這點成果,將用函式實現的思路也加進去,以「自頂向下,逐步求精」的思維方式,以函式為基本單元,構造出模組化的程式來,我要讓學生在正式學函式之前,要對函式之偉大有個深刻的認識。並且,函式將完全由學生自己探索。由於難度的加大,實驗指導中加入了不少做「思想工作」的文字,其實,這算得上是學習方法指導。為了增強可讀性,加了不少調侃語,常泡在網上,這也還算是擅長。

由於其他課的任務也不算輕,實驗指導寫得不順,直至星期一晚上才寫完,自己也還是很欣賞這種調皮的文字。星期二吃過早飯,再次審核每乙個細節,列印出需要的材料。將收集到的學生部落格一一開啟檢查,我需要找出進度慢的同學重點關照。我組織同學們分了學習小組,也一再強調不能讓任何乙個同學掉隊,學習中集體的力量是無窮中,好的氛圍將是所有人進步的保證。

上課時間到了,我首先抱歉地告訴大家,我還是決定再一次用大家並不習慣的方式上課,這是為了以後讓大家學得輕鬆些。同學們給予了支援。課後作業就是為第二天的實驗做準備,各小組要安排一次集體自習彼此啟發。學生事務助理影印的實驗指導材料也發給了大家。我知道,這是一項不輕鬆的任務。

星期三中午,當我到達教室時,我被同學們感動了。除了在趴在桌上午休的,手中就是我發下的材料,在紙上畫著繞來繞去的流程圖,寫著沒有正式學過的**。有些同學的指導材料已經顯得發皺,上面布滿了字跡,顯然是用功不少了。詢問了同學們的掌握程度,我決定先用二十分鐘再強化思維訓練。這是關鍵,花多少時間都值。在今後,同學們的聽課可能會更自然些,因為賀老師要按著課本順序來了。當然,歪點子也將不少,但經歷了前三周的考驗,同學們是能頂下來的。

於是,有了兩個小時後我看到的一幕:不少同學輸出了漂亮的星號圖。整個過程我清楚,這不是抄別人的**看看出什麼結果,而是自己自頂向下的設計後寫出來的。這標誌著他們設計的思維開始建立,這是乙個完美的開端。晚上回家統計,已經有三分之一的同學提交了合格的報告。

美好的過程,這是我理想的教學。感謝這幾年習練梅花樁拳讓我樂於不斷改變,也謝謝我這幾年堅定了的永不放棄的境界,更要感謝這幫學生的付出。學計算機的不會程式設計?天大的笑話,我們將把這種不可思議的現實拋到東門外一百公尺以外的地方。

有人會質疑:「老賀說大話了,你的學生好表現才三周。」漂亮的星號圖給我底氣,完美的開端給我信心,我們將一直笑下去。

(寫於2023年10月12日,2023年12月10日複製到csdn)

C語言程式設計II 第二週教學

根據鄒欣老師的建議,臨時修改教學計畫,將最後一周的內容 第十二章 檔案,提前講授。在發布作業 2019春第二週作業 作業根據本週講授的 檔案 知識和上週講授的 一維陣列 布置的。分為基礎作業和挑戰作業,基礎作業是必做項,挑戰作業作為加分項。要求同學們,完成以上兩項作業後,寫好程式設計總結,並在提交。...

C語言程式設計教學

1.if語句 單分支結構 if 雙分支結構 if else 多分支結構 if else if else 2.switch條件語句 條件語句 3.break語句 跳轉語句 終止當前迴圈,執行迴圈體外的第一條語句 4.continue語句 跳轉語句 中止本次迴圈,並繼續執行下一次迴圈 break語句可以...

C語言程式設計II 第四周教學

本週的教學內容為 第七章 陣列 7.2 二維陣列 在發布作業 2019春第四周作業 本週的學習內容包括 1.一維陣列 選擇排序法 二分查詢法 2.二維資料 定義 引用 初始化,二維陣列與矩陣。本次課上講解選擇排序法和二分查詢法算是演算法的入門知識,從排序和查詢的重要性出發,重點講解演算法的思路和實現...