許家昌



摘要:C語言程序設計在計算機程序設計語言中占有重要地位,尤其在嵌入式系統開發上更具優勢。如何讓學生尤其是非計算機專業學生掌握這門編程語言是十分重要的研究課題。本文提出了以程序設計模型和算法構建為主線,結合網絡在線學習平臺,配套有效的實踐編程環節,形成行之有效程序設計新模式,以連續2年學生參加全國(省)計算機等級考試成績通過率的提升進一步驗證了該模式的實用性和有效性。
關鍵詞:C語言程序設計;模型構建;在線學習;編程實踐
中圖分類號:TP312.1 文獻標識碼:A 文章編號:1007-9416(2019)03-0169-02
0 前言
C語言程序設計作為高校當前的基礎課程,工程科學專業甚至非工課類專業都要開設的一門編程語言,在當前的計算機等級考試中C語言占據了重要地位。如何讓學生更好的掌握這門語言,做到理論知識掌握的同時進一步提高編程能力,真正做到理論實踐相結合[1]。本文提出了以程序設計模型和算法構建為主線,充分利用信息技術(在線學習平臺)作為輔助手段,提高學生實驗課的動手能力,做到三者相輔相成。整個教學模式及過程如圖1所示。
1 C程序設計開發新方法
基礎知識是前提,只有筑牢基礎知識才能向縱深推進。C語言程序設計開發必須讓學生從源頭重視解決實際問題的方法[2]和能力問題。首先從建模開始,好的模型決定著解決問題的難以程度。讓學生在編寫C程序過程中主動去根據實際問題建模,然后依據模型設計相應的算法,在此基礎上結合程序的結構去完成代碼的編寫。本文結合實例進行說明C程序開發的新思路及方法。實例具體描述為:5名同學參加學校運動會100米決賽,賽前請他們各自預測比賽結果,同學a選手說:b第二名,我第三名;同學b選手說:我第二名,e第四名;同學c選手說:我第一名,d第二名;同學d選手說:c最后一名,我第三名;同學e選手說:我第四名,a第一名;比賽結束后,每位同學都表達比賽結果的正確率為50%,請編程說明這5名同學比賽的最終名次。首先根據題意分析5名同學都說對了一半,以此可確定比賽的所有可能情況,因5名同學全部參與了比賽結果的猜測,且各自的結果預測是相互獨立即不相互影響,因此可把所有可能通過圖2表示。
依據上述算法模型,需要對比賽結果可能性進行優化確定,因每名同學僅猜中了1/2的概率,即結果存在2種可能,假設錯誤時值為0,那么真值可取1,因此可進一步確定5名同學的最終比賽結果情況如圖3所示。
根據上述分析可編寫完整C語言代碼調試即可。通過最終調試可得到5名同學的最終排名情況,如果需要不能重復的排名情況可進一步優化上述模型。T通過該例反映出程序設計中模型的重要性,以模型為基礎融入相關算法最后按照程序結構生成代碼成為解決實際問題的新模式。
2 運用在線學習平臺
充分運用信息技術的快速發展帶來的科技成果,提高C語言課程編程能力,可利用相關的在線互動平臺,圖4為安徽理工大學在線資源發布平臺。該平臺具體模塊包括授課內容制作,教學內容討論,課堂出勤統計,課程資源集錦,課堂作業,在線模擬考試及管理模塊。例如課堂出勤率方面,學習可通過手機“學習通”應用程序進行簽到,具備定位功能,可解決虛假簽到問題。課堂教學內容可為學生課后復習提供方便,作業模塊可在解決傳統作業模式的弊端,學生完成作業在線提交,教師在線批閱等。學習平臺的使用可進一步加強師生之間的溝通交流,解決了上課見下課散的被動局面,為學生課前預習,課后復習提供了便利的學習環境。
3 實驗編程環節管理
實驗編程環節在整個計算機語言的學習中占據重要的分量,直接決定著學生最終學習總成績的好壞。因此,如何讓學生積極參與到實驗環節至關重要。本文作者基于長期的編程實踐經驗,總結出以下三點建議幫助學生提高實驗編程能力。具體如下:
(1)利用前期學習平臺布置作業,學生課后完成,進實驗室調試。杜絕復制程序代碼調試。(2)集中學生普遍提出的問題現場做調試輔導,可利用翻轉課堂模式讓學生參與到其中,提高學生的動手能力。(3)分配實驗小組,展開組內及組與組之間的交流討論。
4 結語
本文針對學生學習編程語言過程中存在建模缺失及動手能力差的問題,提出了從如何讓學生從解決問題的源頭著手,通過模型及相應算法的構建思維,在此基礎上充分利用學習平臺的交互作用,并在實驗環節中加入“翻轉課堂”,通過各個環節的有效銜接,很大程度提高了學生理論解決實際問題及編程實踐能力,通過近年計算機等級考試合格率進一步證明了該教學模式的有效性和實用性。
參考文獻
[1] 譚浩強.C程序設計(第五版)[M].清華大學出版社,2017.
[2] (美)本·克萊蒙(Ben Klemens)著,趙巖譯.C程序設計新思維(第2版)[M]. 人民郵電出版社,2018.
Discussion on the Practice of C Language Programming
XU Jia-chang
(School of Computer Science and Engineering, Anhui University of Science and Technology, Huainan Anhui? 232001)
Abstract:C language programming plays an important role in computer programming language, especially in embedded system development.How to make students master this programming language is a very important research topic.Is proposed in this paper in order to build the programming model and algorithm for the main line, combining with the online learning platform, form a complete set of effective practical programming, to form effective programming mode, with 2 years in a row students attend the national computer rank examination (province) pass the ascension of the practicability and validity of the model is verified further.
Key words:C Language Programming; model construction; online-learning; programming practice