国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

從程序設(shè)計(jì)本質(zhì)入手,上好C語言的第一課

2014-02-22 07:15張吳波史旅華
關(guān)鍵詞:C語言程序設(shè)計(jì)

張吳波 史旅華

[摘要]本文針對(duì)大學(xué)生學(xué)習(xí)C語言、編寫C語言程序中的問題,分析了C語言程序設(shè)計(jì)第一堂課的重要性,闡述了以程序設(shè)計(jì)本質(zhì)作為切入點(diǎn),上好C語言第一堂課的觀點(diǎn)。并提出了將將程序設(shè)計(jì)本質(zhì)作為整個(gè)C語言教學(xué)的“綱”的做法。

[關(guān)鍵詞]程序設(shè)計(jì) 第一堂課 C語言

[中圖分類號(hào)]G642.0 [文獻(xiàn)標(biāo)識(shí)碼]A

C語言程序設(shè)計(jì)是計(jì)算機(jī)專業(yè)學(xué)生進(jìn)入大學(xué)后接觸到的第一門專業(yè)基礎(chǔ)課程。在該課程中主要講授程序設(shè)計(jì)的基本方法和基本技能,學(xué)生對(duì)這門課程學(xué)習(xí)的效果直接影響對(duì)本專業(yè)技能掌握程度,也影響到他們后續(xù)專業(yè)課程的學(xué)習(xí),甚至還會(huì)影響到學(xué)生對(duì)本專業(yè)的認(rèn)可度。因此如何提高C語言程序設(shè)計(jì)的教學(xué)質(zhì)量,切實(shí)提高學(xué)生的編程水平,是廣大C語言教師最關(guān)心的課題。

我校C語言課程組總結(jié)了C語言教學(xué)的經(jīng)驗(yàn),分析了學(xué)生學(xué)習(xí)C語言過程中出現(xiàn)的問題。秉著從程序設(shè)計(jì)的規(guī)律出發(fā),從第一堂的授課內(nèi)容開始,對(duì)課程的教學(xué)內(nèi)容和教學(xué)方法進(jìn)行改革。

一、C語言的第一堂課的重要性

在大學(xué)的學(xué)習(xí)中,許多課程對(duì)學(xué)生來說都是一個(gè)全新、陌生領(lǐng)域的開放,這其中學(xué)生需要接受新的知識(shí),新的思維方法,新的學(xué)習(xí)方法等等。正如C語言程序設(shè)計(jì),是學(xué)生第一次接觸計(jì)算機(jī)編程,第一次需要按照計(jì)算機(jī)思維方式思考問題,第一次使用形式化的語言進(jìn)行設(shè)計(jì)。

正是因?yàn)檫@樣,許多同學(xué)在學(xué)習(xí)C語言程序時(shí),經(jīng)常會(huì)出現(xiàn)這樣的情況:在課堂上、在教師的引導(dǎo)下,學(xué)生“感覺”教師所講授的內(nèi)容都聽明白了,看書時(shí)對(duì)書中所介紹的語法好像也是清楚了。但是合上書本卻就感覺大腦一片“空白”,編寫程序時(shí)不知如何下手。許多時(shí)候,教師在總結(jié)的原因是都?xì)w結(jié)為學(xué)生應(yīng)該多加強(qiáng)練習(xí),多編寫程序。當(dāng)然這是一個(gè)非常重要而且也是非常好的學(xué)習(xí)編寫程序的方法。筆者認(rèn)為,教師可以從另一個(gè)角度去分析其中的問題。

學(xué)生對(duì)于剛開始接觸的新事物是非常陌生的,對(duì)于它究竟是“什么”是不清楚的。尤其對(duì)于剛接觸編程的學(xué)生來說,C語言程序是什么,很多同學(xué)都是一個(gè)“模糊”的認(rèn)識(shí)。當(dāng)教師在授課過程中如果一味只講解一些C語言的語法規(guī)則,而沒有從本質(zhì)上解決C語言程序設(shè)計(jì)是什么的問題時(shí),學(xué)生對(duì)課程的理解是片面的。而這些問題的解決需要教師在第一堂課上,使學(xué)生對(duì)C語言程序設(shè)計(jì)有一個(gè)本質(zhì)上的、清楚的認(rèn)識(shí)。并通過這種認(rèn)識(shí),引導(dǎo)學(xué)生使用C語言進(jìn)行程序設(shè)計(jì)。

因此,俗話說“好的開始等于成功的一半”,如果開了一個(gè)好頭,那么對(duì)以后的教師的教學(xué)和學(xué)生的學(xué)習(xí)都是大有裨益的。如果從他們的第一堂開始,能夠正確引導(dǎo)他們的學(xué)習(xí)C語言的方法,可以收到“事半功倍”的效率。

二、C語言的第一堂課的教學(xué)現(xiàn)狀

通過調(diào)查發(fā)現(xiàn),很多C語言的教師在對(duì)待的第一堂課時(shí)都沒有足夠的重視,大多都是先簡單的自我介紹和學(xué)習(xí)C語言的重要性的介紹,以及課程內(nèi)容的安排等;然后接著就是介紹C語言的程序的例子;再次就是引入C語言的語法規(guī)則,對(duì)語法規(guī)則進(jìn)行講解等。

這樣的授課方式開門見山,可以直接使學(xué)生了解C語言的知識(shí),但是如果掌握不好,可能會(huì)使學(xué)生陷入一個(gè)“語法旋渦”。學(xué)生在學(xué)習(xí)本課程時(shí),可能都是為了學(xué)語法而去學(xué)語法,不知道這些語法規(guī)則如何用,應(yīng)該用到什么地方。隨著學(xué)習(xí)的深入,甚至可能會(huì)導(dǎo)致學(xué)生對(duì)程序產(chǎn)生恐懼感,令他們失去學(xué)習(xí)本課程的興趣和信心。

三、第一堂課應(yīng)該講什么

第一堂課應(yīng)該講什么?如何講?應(yīng)該達(dá)到一個(gè)什么樣的目的?筆者認(rèn)為應(yīng)該從授課內(nèi)容的本質(zhì)入手,使學(xué)生在第一堂課就清楚的認(rèn)識(shí)到“程序”是什么,“程序設(shè)計(jì)語言”是的什么。為學(xué)生的學(xué)習(xí)指明一個(gè)方向,使他們能了解,在接下來的學(xué)習(xí)過程中應(yīng)該怎么學(xué)。

C語言程序課程的主要目的是要傳授學(xué)生如何使用C語言編寫程序,因此在C第一堂課應(yīng)該使學(xué)生了解程序、程序設(shè)計(jì)、程序設(shè)計(jì)語言的本質(zhì)。通過第一堂的講解使學(xué)生充分認(rèn)識(shí)到編寫程序、運(yùn)行程序的過程,并消除對(duì)程序的陌生感。

(一)程序的本質(zhì)的講解

通過調(diào)查研究發(fā)現(xiàn),學(xué)生在學(xué)習(xí)C語言程序設(shè)計(jì)時(shí)所出現(xiàn)的問題,都是可以歸結(jié)為對(duì)程序的本質(zhì)不了解。

但是,程序的概念對(duì)于學(xué)生來說又是一個(gè)非常熟悉的概念,在現(xiàn)實(shí)生活中處處都充斥著程序的例子,并且計(jì)算機(jī)程序的本質(zhì)與生活中他們所碰到的“程序”的本質(zhì)是一致的。因此,教師首先應(yīng)該通過這些現(xiàn)實(shí)生活中例子,例如,“新生報(bào)到程序”、“請(qǐng)假程序”等,引導(dǎo)學(xué)生對(duì)程序的本質(zhì)特征進(jìn)行總結(jié)、分析,找出其中的特征。從而指出程序是“指為解決某一問題而既定處理步驟”、“程序是為了解決問題而存在的”、“存在一個(gè)‘程序的執(zhí)行主體來按照其規(guī)定的步驟進(jìn)行”、……。從而引出“C語言程序”的概念,并將其與生活中的程序?qū)嵗M(jìn)行對(duì)比,使學(xué)生能找到二者之間的“交點(diǎn)”,消除學(xué)生對(duì)“C語言程序”的神秘感。

(二)程序設(shè)計(jì)本質(zhì)的講解

雖然同學(xué)們在生活中都會(huì)接觸到許多程序?qū)嵗?,但是許多同學(xué)平時(shí)都沒注意“程序設(shè)計(jì)”的概念,認(rèn)為程序設(shè)計(jì)似乎很神秘、很抽象的過程,尤其是把程序設(shè)計(jì)引入到計(jì)算機(jī)中之后。

因此在學(xué)生了解了程序的概念后,應(yīng)該指出程序設(shè)計(jì)本質(zhì)就是“設(shè)計(jì)程序”,即“為解決某一問題”而設(shè)計(jì)如何處理的一系列步驟。并且也需要結(jié)合現(xiàn)實(shí)生活中設(shè)計(jì)程序的例子,使學(xué)生充分認(rèn)識(shí)程序設(shè)計(jì)的本質(zhì)。例如可以指導(dǎo)學(xué)生設(shè)計(jì)一個(gè)程序,從一堆球中找出最重的球。

同時(shí)應(yīng)該使學(xué)生認(rèn)識(shí)的到:程序是指導(dǎo)、限定“程序的執(zhí)行主體”如何執(zhí)行過程的“藍(lán)本”。為了能使“程序的執(zhí)行主體”能按照程序正確的解決問題,設(shè)計(jì)程序者應(yīng)該需要按照“程序的執(zhí)行主體”的思維方式去思考問題。接著再指出計(jì)算機(jī)思維的特點(diǎn),通過具體實(shí)例,明確告訴學(xué)生在編寫C語言程序時(shí),應(yīng)該按照計(jì)算機(jī)的思維方式去設(shè)計(jì)解題步驟、編寫代碼等。這是許多學(xué)生在學(xué)習(xí)C語言時(shí)經(jīng)常忽略了的,他們在編寫程序時(shí)通常按照人類的思維習(xí)慣去看待問題,結(jié)果編寫程序時(shí)自然處處“卡殼”,認(rèn)為自己C語言總學(xué)不好,時(shí)間一長就對(duì)編寫程序失去了信心。

(三)程序執(zhí)行過程本質(zhì)的講解

計(jì)算機(jī)程序的執(zhí)行歸根到底是計(jì)算機(jī)按照指令序列中規(guī)定的操作對(duì)內(nèi)存中數(shù)據(jù)進(jìn)行處理。這部分內(nèi)容屬于計(jì)算機(jī)組成原理等硬件類課程的范疇,對(duì)于C語言的初學(xué)者來說很難認(rèn)識(shí)、也很難理解的。教師應(yīng)該在學(xué)生清楚了程序的概念后,拋出“馮.諾依曼原理”,并指出計(jì)算機(jī)的工作方式;深入淺出的引導(dǎo)學(xué)生認(rèn)識(shí)到計(jì)算機(jī)程序中指令的概念以及指令執(zhí)行的過程。

在這一部分內(nèi)容的講解過程中,應(yīng)該將計(jì)算機(jī)執(zhí)行程序代碼的過程和人類執(zhí)行程序的過程結(jié)合起來講解。例如,可以使用計(jì)算機(jī)“計(jì)算兩數(shù)相加”的例子,分析人類是如何其求和過程和計(jì)算機(jī)是如何完成求和的過程。在基礎(chǔ)上進(jìn)一步引出“內(nèi)存”的概念,以及內(nèi)存在計(jì)算機(jī)處理過程的作用,為后面“變量”、以及數(shù)據(jù)存儲(chǔ)的講解做好鋪墊。

如果能使學(xué)生接受計(jì)算機(jī)執(zhí)行程序的本質(zhì)過程,對(duì)學(xué)生理解計(jì)算機(jī)系統(tǒng)和程序都是非常有好處的。因此,為了能幫助學(xué)生比較好的理解,對(duì)于課件中要求有生動(dòng)的動(dòng)畫是必須的。通過動(dòng)畫的演示,展示計(jì)算機(jī)工作的過程,使學(xué)生可以有一個(gè)好的“感性認(rèn)識(shí)”。

(四)程序語言本質(zhì)的講解

在學(xué)生了解了程序的概念后,應(yīng)該指出“程序設(shè)計(jì)語言”的本質(zhì)是“人”與“計(jì)算機(jī)”交流的工具。人們需要使用這樣的工具將自己設(shè)計(jì)好的、限定計(jì)算機(jī)如何操作的想法與意圖“告訴”計(jì)算機(jī)。其本質(zhì)上C語言與學(xué)生熟悉的漢語、英語一樣,其作用都是人們用來描述思維活動(dòng),向外界展示自己的意圖。

同時(shí)通過與學(xué)習(xí)漢語、英語的方法作對(duì)比,指出C語言與其他語言一樣,都有著嚴(yán)格的語法規(guī)則。人們必須按照這樣語法規(guī)則,構(gòu)建相應(yīng)的“語句”,組成符合邏輯的“文章”。正式因?yàn)椤拔恼隆敝械摹罢Z句”,程序運(yùn)行時(shí)可以向計(jì)算機(jī)發(fā)出相應(yīng)的“指令”,指導(dǎo)計(jì)算機(jī)如何執(zhí)行,最終得到問題的解。

并且通過和自然語言的對(duì)比,可以指出學(xué)習(xí)C語言的目的和自然語言一樣,也是如何將自己的想法傳達(dá)給她的“受眾”—計(jì)算機(jī),編寫程序的過程也是按照C語言的語法規(guī)則,表達(dá)自己思維的過程。同時(shí)也可以指出學(xué)生學(xué)習(xí)C語言和學(xué)習(xí)這些自然語言的方法是一樣的,C語言的學(xué)習(xí)不能只是“語法”規(guī)則的學(xué)習(xí),而是應(yīng)該在掌握了“語法”規(guī)則后,必須使用這個(gè)語言工具,表達(dá)自己的意圖,解決實(shí)際問題。而熟練的掌握這一過程,只有在不斷的“實(shí)踐”中才能完成。

(五)程序結(jié)構(gòu)本質(zhì)的講解

在通過前面一系列的有關(guān)程序和程序設(shè)計(jì)的認(rèn)識(shí)后,需要列舉一些簡單的C語言程序,分析這些程序?qū)嵗慕Y(jié)構(gòu)。指出一個(gè)C語言程序的基本結(jié)構(gòu)是什么樣的,程序結(jié)構(gòu)的本質(zhì)也是語法規(guī)則的一種。通過這些具體的程序?qū)嵗?,提出?gòu)成C語言程序最簡單的“模板”,構(gòu)建一個(gè)“填空”式的程序編寫模式。使學(xué)生可以在課余按照這樣的“模板”可以模仿編寫一些簡單的程序;也使學(xué)生可以按照這樣的“模板”去閱讀程序。

通過“填空”式的程序,可以增加學(xué)生學(xué)習(xí)程序設(shè)計(jì)的興趣,規(guī)范學(xué)生編程習(xí)慣,降低學(xué)生的編程難度,同時(shí)也不自覺提高了學(xué)生編寫C語言程序的能力。

四、需要注意的問題

在第一堂課中需要時(shí)刻注意到學(xué)生的接受能力的問題。因?yàn)榇藭r(shí)的學(xué)生是一個(gè)剛剛接觸程序的初學(xué)者,并且關(guān)于概念的講解是一個(gè)比較抽象的過程。如果在開始時(shí)只是從理論上,將一些抽象的概念灌輸給學(xué)生,而不注意學(xué)生接受能力,可能就會(huì)把學(xué)生堵在這些抽象概念的門外。甚至?xí)斐善浞吹男Ч?,降低了學(xué)生學(xué)習(xí)的興趣。因此教師在授課時(shí),需要能緊密結(jié)合學(xué)生身邊的問題,使學(xué)生可以切身感受到這些概念,以一種他們非常熟悉的方式,去引導(dǎo)學(xué)生感知這些概念的內(nèi)涵和本質(zhì),這一點(diǎn)教師上課時(shí)要注意的。

五、與后續(xù)課堂的銜接

第一堂課不能只是課程的開始,它應(yīng)該是整個(gè)課程教學(xué)的“綱”,是整個(gè)課程教學(xué)的一個(gè)“指揮棒”。不能簡單的把這些知識(shí)內(nèi)容講完了就可以了,應(yīng)該把第一堂課的內(nèi)容“輻射”到整個(gè)C語言課程的教學(xué)中。在后續(xù)的課堂教學(xué)時(shí),需要時(shí)時(shí)緊密的結(jié)合這些本質(zhì)概念,引導(dǎo)學(xué)生去學(xué)習(xí),時(shí)時(shí)將知識(shí)點(diǎn)落腳到這些本質(zhì)概念上來。引導(dǎo)學(xué)生使用這些本質(zhì)概念去編寫程序;使學(xué)生在編寫程序時(shí)又能進(jìn)一步體會(huì)其中的概念,以達(dá)到提高編程能力的目的。

例如,在講解“變量”,緊密“內(nèi)存”的概念,引導(dǎo)學(xué)生深刻體會(huì)“變量存儲(chǔ)數(shù)據(jù)”在程序中的意義。例如在講解“選擇”、“循環(huán)”結(jié)構(gòu)的程序設(shè)計(jì),緊密圍繞計(jì)算機(jī)工作過程和程序體現(xiàn)人類的思維過程進(jìn)行講解,引導(dǎo)學(xué)生體會(huì)流程控制的含義。在設(shè)計(jì)、編寫程序時(shí),圍繞“C語言程序是指導(dǎo)計(jì)算機(jī)解決問題的步驟”,引導(dǎo)使用計(jì)算機(jī)的思維方式思考問題、分析問題、解決問題。

六、結(jié)束語

在第一堂課中,通過給學(xué)生傳授程序設(shè)計(jì)過程中的各種本質(zhì)概念,可以豐富課堂內(nèi)容,提高學(xué)生對(duì)本課程的認(rèn)識(shí)度,增加學(xué)生學(xué)習(xí)的興趣,有利于學(xué)生編程能力的提高。同時(shí)也給學(xué)生的在后面的學(xué)習(xí)中,搭建了一個(gè)理論框架,為學(xué)生學(xué)習(xí)其他的語言,使學(xué)生做到“一通百通”,打下了一個(gè)良好的基礎(chǔ)。

[參考文獻(xiàn)]

[1]韋霖.談?wù)勚新毥處熑绾紊虾没A(chǔ)會(huì)計(jì)第一堂課.中等職業(yè)教育.2012.5

[2]王潔.高等數(shù)學(xué)第一堂課的博弈.商丘職業(yè)技術(shù)學(xué)院學(xué)報(bào).2011.2

[3]夏英俊.關(guān)于如何上好《高等數(shù)學(xué)》第一堂課的思考.科技資訊.2011.1

[4]關(guān)忠仁.C語言教學(xué)質(zhì)量的思考與實(shí)踐.計(jì)算機(jī)教育2007.3

[5]張長海.以程序設(shè)計(jì)為主線講授“高級(jí)語言程序設(shè)計(jì)”課.計(jì)算機(jī)教育 2005.5

(作者單位:湖北汽車工業(yè)學(xué)院 湖北省十堰市)

猜你喜歡
C語言程序設(shè)計(jì)
基于OBE的Java程序設(shè)計(jì)個(gè)性化教學(xué)研究
基于Electron.js的風(fēng)向玫瑰圖繪制程序設(shè)計(jì)與實(shí)現(xiàn)
項(xiàng)目化教學(xué)在Python程序設(shè)計(jì)課程中的應(yīng)用
C++程序設(shè)計(jì)課程教學(xué)改革研究
醫(yī)學(xué)專業(yè)“Python程序設(shè)計(jì)”課程教學(xué)改革總結(jié)與思考
“C語言程序設(shè)計(jì)”課程混合教學(xué)探索
基于C語言的計(jì)算機(jī)軟件編程技術(shù)探究
中職計(jì)算機(jī)C語言教學(xué)的探討與研究
中職C語言單片機(jī)課堂教學(xué)中的趣味性探討
計(jì)算機(jī)原理中C語言的應(yīng)用價(jià)值
柘荣县| 修文县| 女性| 棋牌| 博白县| 红安县| 涞水县| 甘洛县| 友谊县| 钟山县| 加查县| 凌源市| 浏阳市| 嘉禾县| 桃园县| 棋牌| 和田市| 阿拉尔市| 房产| 柳江县| 长丰县| 清河县| 乌恰县| 新邵县| 天津市| 湘乡市| 澎湖县| 伊金霍洛旗| 赤城县| 蒙自县| 巴彦县| 丁青县| 武乡县| 义马市| 普洱| 塔河县| 色达县| 雷波县| 渑池县| 故城县| 巧家县|